반응형
자바 버전별 차이점 및 특징
버전 | 출시일 | 무료 공개 업데이트 중단 | 특징 |
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
반응형
'자바' 카테고리의 다른 글
프로그래밍 언어 추천, 어떤 언어를 배워야 할까? (0) | 2023.12.24 |
---|---|
[JAVA] String에서 ==, equals() 차이 (0) | 2023.12.19 |
[JAVA] 문자열(String)에서 정수(int)로 변환하는 방법 - 문자열 정수로 바꾸기 (0) | 2023.09.14 |
이클립스 단축키 모음 (Eclipse Hotkey) (0) | 2023.07.11 |