JDK 버전과 JRE
Q. 자바 JDK와 JRE의 차이점은 무엇인가요?
JDK(Java Development Kit): 자바 애플리케이션을 개발하기 위한 도구 모음입니다. 컴파일러(javac), 디버거, 자바 API 등 개발에 필요한 모든 도구가 포함되어 있습니다. 개발자들은 JDK를 사용하여 소스 코드를 작성하고, 컴파일하고, 실행할 수 있습니다.
JRE(Java Runtime Environment): 자바 애플리케이션을 실행하는 데 필요한 환경입니다. JRE에는 자바 가상 머신(JVM), 자바 API, 자바 클래스 라이브러리가 포함되어 있어, JDK가 없더라도 자바 프로그램을 실행 할 수 있습니다. 즉, JRE는 JDK의 일부이며, JDK는 JRE를 포함하는 개발 도구입니다.
Q. JDK 1.8과 11, 17의 차이점은 무엇인가요?
JDK 1.8 (Java 8): 람다 표현식, 스트림 API, 새로운 날짜와 시간 API(java.time) 등이 도입되었습니다. 이러한 기능들은 코드의 가독성을 높이고, 함수형 프로그래밍 패러다임을 지원하여 더 간결한 코드를 작성할 수 있게 해줍니다.
JDK 11 (Java 11): JDK 8에서 도입된 기능의 확장을 포함하며, 여러 기능이 삭제되고 간소화되었습니다. HTTP 클라이언트 API가 표쥰으로 추가되고, 장기 지원(LTS) 버전으로 안정성과 성능 개선이 이루어졌습니다. 또한,
var
를 사용한 지역 변수 타입 추론도 지원됩니다.JDK 17 (Java 17): JDK 11의 다음 LTS 버전으로, 새로운 기능으로는 패턴 매칭을 지원하는
instanceof
,Sealed Classes
,Enhanced switch
문 등이 도입되었습니다. 이러한 기능들은 코드의 안전성과 가독성을 높이는 데 도움을 줍니다.
Q. 그렇다면 JDK 21은 어떠한 점이 달라져있나요?
JDK 21은 최근의 LTS 버전으로, Record Patterns
와 Pattern Matching for Switch
등 패턴 매칭 기능이 더욱 강화되었습니다. 또한 Virtual Threads
(가상 스레드) 기능이 추가되어 스레드 생성과 관리를 더 효율적으로 처리할 수 있게 되었으며, 이는 비동기 프로그래밍을 더 간단하게 만듭니다. Foreign Function & Memory API
(외부 함수 및 메모리 API)도 실험적으로 추가되어 자바에서 C, C++와 같은 다른 언어의 기능을 쉽게 사용할 수 있게 해줍니다.
Last updated