반응형
일부 Java 버전을 1.X라고 하는 이유
9이전의 Java버전은 단순히 다른 이름 체계를 가졌다. 따라서 Java8은 1.8 Java5는 1.5 등으로 불렸다.
Java9부터 시간 기반 릴리즈로 전환하면서 명명 체계도 변경되었다. 사실 큰 이유는 없는 것 같다.
JDK 7 (2011)
- Switch문 인자로 String 허용
- 자동으로 finally에서 리소스 관리(close)
- 제네릭 인스턴스 생성시 type 생략가능
// 7 버전 이전
List<String> list = new ArrayList<String>();
//7 버전 이후
List<String> list2 = new ArrayList<>();
JDK 8 (2014)
- 람다 표현식
- 다양한 DateTime 추가
- 인터페이스에서 default, static 키워드 사용하여 메소드 구현 가능
- Null처리 Optional 클래스 추가
- 2개 버전으로 나뉨 (Oracle JDK, Open JDK)
JDK 9 (2017)
- Jshell 추가
- try-with-resource 추가 (JDK 7 상위)
- 인터페이스 private 추가 (캡슐화 유지)
JDK 10 (2018)
- var(variable type interface) 추가
- 병렬 처리 가비지 컬렉션 도입으로 인한 성능 향상
JDK 11 (2018)
- Oracle JDK와 Open JDK 통합
- Oracle JDK가 구독형 유료 모델로 전환
- 서드파티 JDK로 이전필요
- 문자열 공백 제거 메서드 추가(strip, stripLeading, stripTrailing)
Reference
반응형
'Java' 카테고리의 다른 글
[Java SpringBoot] Retrofit2 연동 및 사용법 예제 (0) | 2021.06.18 |
---|---|
자바(Java) 예외처리(Exception) (0) | 2021.06.16 |