본문 바로가기

Java

자바(JAVA) 버전 별 특징 및 차이

반응형

일부 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

https://www.skyer9.pe.kr/wordpress/?p=287#toc-10

반응형

'Java' 카테고리의 다른 글

[Java SpringBoot] Retrofit2 연동 및 사용법 예제  (0) 2021.06.18
자바(Java) 예외처리(Exception)  (0) 2021.06.16