본문 바로가기

자바

[JAVA] 자바 버전별 차이점 및 특징

반응형

자바 버전별 차이점 및 특징

버전 출시일 무료 공개 업데이트 중단 특징
JDK 1.0 1996년 01월 23일 1996년 5월 최초의 자바 버전으로, 기본적인 자바 개발 도구 및 라이브러리를 제공합니다.
이 버전은 초기 자바 언어 기능을 제공하며, 가장 기본적인 자바 프로그래밍을 할 수 있습니다.
JDK 1.1 1997년 02월 02일 2002년 10월 자바 1.0의 기능을 개선하고 확장한 버전입니다.
이 버전에서는 내부적인 성능 향상과 새로운 기능들이 도입되었습니다.
J2SE 1.2 1998년 12월 04일 2003년 9월 자바 1.2 (1998년, 코드명: 자바 2): 이 버전부터 "Java 2"로 명명되었습니다.
자바 1.2는 대규모 업데이트로, 자바 개발 도구와 라이브러리에 많은 변화를 가져왔습니다.
이 버전에서는 내부적인 구조 개선과 GUI 개발을 위한 Swing API의 도입,
컬렉션 프레임워크 등이 포함되었습니다.
J2SE 1.3 2000년 05월 08일 2010년 10월 이 버전은 이전 버전의 안정성과 성능을 향상시키는 데 중점을 두었습니다.
HotSpot 가상 머신을 기본으로 도입하였고, RMI(원격 메소드 호출)와
JNDI(Java 네이밍 및 디렉터리 인터페이스)와 같은 네트워킹 개선 사항이 추가되었습니다.
J2SE 1.4 2002년 02월 13일 2008년 10월 이 버전에서는 자바 언어와 런타임 환경의 여러 개선 사항이 도입되었습니다.
중요한 변경 사항으로는 assert 문의 추가, 자바 웹 시작 페이지인
JSP(JavaServer Pages)의 도입, XML 처리를 위한
JAXP(Java API for XML Processing)의 추가 등이 있습니다.
Java SE 5 2004년 09월 29일 2009년 11월 이 버전은 자바 개발자들에게 많은 혁신을 가져왔습니다.
가장 중요한 특징으로는 제네릭스, 열거형, 자동 박싱/언박싱,
향상된 반복문 등이 도입되었습니다. 또한, JVM(Java Virtual Machine)의 성능과
스레딩 모델에 대한 개선도 이루어졌습니다.
Java SE 6 2006년 12월 11일 2013년 4월 이 버전에서는 주로 성능 개선과 안정성 강화가 이루어졌습니다. 자바 애플릿,
자바 웹 서비스, 자바 디스크 톱 응용 프로그램 등을 포함한
다양한 분야에서 개선 사항이 있었습니다.
Java SE 7 2011년 07월 28일 2022년 9월 (OpenJDK)
2015년 5월까지 유지보수를 Oracle이 담당,
레드햇 (2020년 8월까지)
Azul (2022년 9월까지)
이 버전에서는 주요한 언어 및 라이브러리 기능 개선이 이루어졌습니다.
이전 버전과 비교하여 코드 작성 및 읽기의 편의성이 향상되었고, 다이아몬드 연산자,
문자열 스위치 문, try-with-resources 문 등이 추가되었습니다.
Java SE 8 (LTS) 2014년 03월 18일 (OpenJDK의 현 유지보수 담당: 레드햇)
2022년 3월 (Oracle, 상업용)
2030년 12월 (Oracle, 비상업용)
2030년 12월 (Azul)
2026년 5월 (IBM Semeru)
최소 2026년 5월 (Eclipse Adoptium)
최소 2026년 5월 (Amazon Corretto)
이 버전에서는 함수형 프로그래밍을 위한 람다 표현식이 주요 기능으로 도입되었습니다.
또한, 스트림 API, 날짜 및 시간 API, 기본 메소드(default method) 등의
추가로 라이브러리가 강화되었습니다.
Java SE 9 2017년 09월 21일 2018년 3월 (OpenJDK) 이 버전에서는 모듈 시스템인 Java Platform Module System (JPMS)이 도입되었습니다.
이를 통해 자바 런타임 환경과 애플리케이션 간의 종속성 관리가 개선되었습니다.
또한, 리액티브 프로그래밍을 위한 리액티브 스트림즈(Reactive Streams) API도 도입되었습니다.
Java SE 10 2018년 03월 20일 2018년 9월 (OpenJDK) 이 버전에서는 주로 개발자 경험과 개발 생산성을 개선하는 기능들이 도입되었습니다.
로컬 변수 형식 추론, 애플리케이션 클래스 데이터 공유 등이 추가되었습니다.
Java SE 11 (LTS) 2018년 09월 25일 (OpenJDK의 현 유지보수 담당: 레드햇)
2026년 9월 (Azul)
2024년 10월 (IBM Semeru)
최소 2024년 10월 (Eclipse Adoptium)
최소 2027년 9월 (Amazon Corretto)
최소 2024년 10월 (마이크로소프트)
이 버전은 Oracle에서 배포하는 첫 번째 자바 LTS(Long-Term Support) 버전입니다.
주요 변경 사항으로는 HTTP 클라이언트 표준화, 로컬 변수 문법의 개선,
신뢰할 수 있는 G1 가비지 컬렉터 등이 있습니다.
Java SE 12 2019년 03월 19일 2019년 9월 (OpenJDK) 이 버전은 switch 표현식 개선, Compact Number Formatting,
JVM Constants API, G1 가비지 컬렉터 개선 등이 도입되었습니다.
Java SE 13 2019년 09월 17일 (OpenJDK의 현 유지보수 담당: Azul)
2023년 3월 (Azul)
이 버전은 Switch 표현식 개선, Text Blocks, ZGC 등이 있습니다
Java SE 14 2020년 03월 17일 2020년 9월 (OpenJDK) 이 버전은 instanceof 패턴 매칭, Switch 표현식 개선,
Null Pointer 예외 개선, Records 등이 있습니다
Java SE 15 2020년 09월 16일 (OpenJDK의 현 유지보수 담당: Azul)
2023년 3월 (Azul)

이 버전은 Sealed Classes, Text Blocks 업데이트 등이 도입되었습니다.
Java SE 16 2021년 03월 16일 2021년 9월 (OpenJDK) 이 버전은 Records 업데이트, 패턴 매칭 개선, GC 개선 등이 있습니다.
Java SE 17 (LTS) 2021년 09월 14일 (OpenJDK의 현 유지보수 담당: SAP)
2029년 9월 (Azul)
2027년 10월 (IBM Semeru)
최소 2027년 9월 (마이크로소프트)
최소 2027년 9월 (Eclipse Adoptium)
이 버전은 의사난수 생성기를 통한 난수 생성 API, Applet API 제거가 되었습니다.

 

출처 : https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EB%B2%84%EC%A0%84_%EC%97%AD%EC%82%AC

 

반응형