Static 사용 주요 이점객체화가 필요 없다.용량이 절약된다.공유 데이터와 메서드: static 멤버는 모든 객체 인스턴스에서 동일한 값을 공유하며, 메서드를 호출할 수 있습니다.메모리 절약: static 멤버는 객체 인스턴스마다 메모리를 추가로 소비하지 않아 메모
문자열이 특정 문자 또는 문자열로 시작/끝나는지의 여부를 체크한다.
생성자가 없는 경우: 클래스가 어떤 생성자도 정의하지 않은 경우, 자바 컴파일러가 기본 생성자를 자동으로 추가합니다.매개변수를 받는 생성자만 있는 경우: 클래스가 매개변수를 받는 생성자만 정의한 경우, 자바 컴파일러는 기본 생성자를 자동으로 추가하지 않습니다.기본 생성
movie스트림을 사용하면 데이터 처리 코드가 더 간결하고 가독성이 높아집니다. 또한 병렬 처리를 통해 성능을 향상시킬 수 있으며, 함수형 프로그래밍 요소를 통해 코드를 함수적으로 구성할 수 있습니다.✔️ 생성Collection, Array, File \-> 데이터
메서드 체이닝(Method Chaining)은 메서드가 객체 자신 (this)을 반환하는 패턴을 활용하는 것입니다. 이 패턴을 사용하면 동일한 객체에 대해 연속적으로 메서드를 호출 할 수 있으므로 코드가 간결해지고 가독성이 향상됩니다.위와 같이 method1, meth
Java의 HashMap 자료구조에서 하나의 key에 두 개의 value를 저장하려는 상황에서는 두 가지 방법을 고려할 수 있습니다.장점단순성: List를 사용하면 구조가 단순하며, 값이 두 개뿐일 때 List의 크기가 고정되므로 쉽게 값을 관리할 수 있습니다.사용 용
Java 8 2014년 출시, LTS 버전(~2030.12 지원) 대규모 릴리즈, Lambda, Stream API 제공 Optional, 새로운 날짜,시간 API 제공 (ex: LocalDateTime) Oracle이 Java를 인수한 후 첫번째 LTS 출시
자바 개발 키트로, Java 프로그램을 개발하기 위해 필요한 도구 모음이다.자바 소스 코드를 컴파일 하고 디버깅 할 수 있는 도구를 제공한다.JDK에는 JRE, javac 등의 컴파일러, 디버깅 도구, JVM 등이 포함되어 있다.JAVA의 버전은 JDK의 버전이다. 각
javac: 자바 컴파일러, 자바 소스코드를 바이트코드로 변환java: javac가 만든 클래스 파일을 해석 및 실행apt: 어노테이션 툴jdb: 자바 디버깅 툴jar: 서로 관련 있는 클래스 라이브러리들과 리소스를 하나의 jar 파일로 묶어준다.javadoc: 소스
클래스 로더는 자바에서 클래스를 동적으로 로드하는 역할을 하는 부분입니다. 자바의 클래스 로딩은 크게 로딩(Loading), 링크(Linking), 초기화(Initialization) 세 단계로 이루어집니다.로딩(Loading):자바 바이트 코드(.class)를 JVM
Execution Engine이란? 클래스로더에 의해 JVM으로 로드된 클래스 파일(바이트 코드로 된 .class파일)들은 런타임 데이터 영역의 메서드 영역에 배치되는데, JVM은 메서드 영역의 바이트 코드를 Execution Engine에 제공하여 코드를 실행시킨
자바 프로그램의 실행 단계 이미지 출처 자바 소스 파일 작성: 개발자는 자바 소스 파일(.java)을 작성합니다. 컴파일: 자바 컴파일러는 자바 소스 파일을 바이트 코드 형태의 클래스 파일(.class)로 변환합니다. 클래스 로딩: 클래스 로더는 클래스 파일을 읽어
프로그래밍을 하다 보면 유효하지 않은 메모리인 가비지(Garbage)가 발생합니다. C언어의 경우 free() 함수를 사용해서 직접 메모리를 해제해줘야 하지만, Java나 Kotlin에서는 직접 메모리를 해제하지 않습니다. 이는 JVM의 가비지 컬렉터(GC)가 불필요한
기본 알고리즘 (Java 8)멀티 스레드를 사용하여 GC 작업을 병렬로 수행대규모 애플리케이션에 적합기본 알고리즘 (Java 9부터 현재 22까지)대규모 애플리케이션에서 안정적인 성능 제공힙을 여러 리전으로 나누어 효율적으로 관리저지연 GC실시간 애플리케이션에 적합G1
JVM의 메모리 영역인 런타임 데이터 영역은 크게 Method 영역, Heap 영역, Stack 영역 으로 구분되며, 데이터 타입(자료형)에 따라 각 영역에 나누어 할당됩니다.클래스 변수: 클래스가 메모리에 올라갈 때인스턴스 변수: 인스턴스가 생성되었을 때지역변수,
컴퓨터가 인식할 수 있는 0과 1로 구성된 이진코드이다.CPU가 이해할 수 있는 언어이다.JVM과 같은 가상머신이 이해할 수 있는 언어이다..java 파일을 작성하고 자바 컴파일러의 javac명령어를 사용하여 텍스트 파일로 작성된 java 파일을 바이트 코드로 컴파일