본문 바로가기

기초 지식/Java

Java 각 버전의 특징들 (~JAVA18)

Java 1.8이 나온지는 벌써 6년정도 되었습니다. 그동안 java 1.8을 꾸준히 사용해오고 jdk 11뿐만 아니라 최근에는 jdk 17까지 나온 상황입니다. 이 시점에서 다시 한번 정리하면 좋을 것 같아서 Java 1.8 부터 정리해보려고 합니다.

물론 다양한 특징들이 있겠지만 특징적인 일부만 나열하도록 하겠습니다

Java 1.8 특징 (2014.03 release)

Java 9 특징 (2017.09 release)

  • Jingsaw 기반 런타임 모듈화
  • Jshell
  • Private Interface Method
  • Immutable Collection
  • Unified JVM Logging (통일된 JVM 로깅)

Java 11 특징 (2018.09 release)

  • Nest-Based Access Control
  • Dynamic Class File Constants
  • Http Client(Java9 부터)
  • Local-Variable Syntax for Lambda Parameters
  • New Garbage Collector

Java 12 특징 (2019.03 release)

  • Switch문 확장
  • String method 추가 (indent(), transform(), describeConstable(), resolveConstantDesc())
  • file.mistmatch method 추가
  • GC(garbage collector) 개선 

Java 13 특징 (2019.09 release)

  • Switch문에 yield 예약어 추가
  • Text block
  • Unicode 12.1 지원
  • FileSystems.newFileSystem() 메소드 추가

Java 14 특징 (2020.03 release)

  • (Preview) instanceof 의 강화
  • Packaging Tool - Incubator 추가
  • Helpful NullPointerException - NPE시 라인넘버만이 아닌 어느 객체에서 발생했는지 표시

Java 15 특징 (2020.09 release)

  • EdDSA 암호화 알고리즘 추가
  • 패턴 매칭
  • ZGC 가비지 컬렉터 추가
  • Solaris 및 SPARC 플랫폼 지원 제외
  • 외부 메모리 접근 API 추가
  • Record
  • 봉인 클래스

Java 16 특징 (2021.03 release)

  • (14의 기능으로부터 확정) instanceof 패턴 매칭 강화
  • Record
  • Elastic Metaspace (메타스페이스에 대한 관리 기능 강화)
  • Enable C++14 Language Features
  • Packaging Tool
  • (Incubator) Vector API

Java 17 특징 (2021.09 release)

  • Context-Specific Deserialization Filters (컨텍스트 기반의 역직렬화 필터링)
  • (Second Incubator) Vector API
  • Deprecate the Security Manager (Security Manager Deprecate 지정)
  • Remove the Experimental AOT, JIT Compiler
  • Sealed Class

Java 18 특징 (2022.03 release)

반응형

'기초 지식 > Java' 카테고리의 다른 글

Java 1.8 Optional  (0) 2021.03.28
Java 1.8 Default Method  (0) 2021.03.02
Java 1.8 Stream 정리  (0) 2020.10.27
Java 1.8 method reference (메소드 레퍼런스)  (0) 2020.10.21
Java 1.8 Lambda Expression (람다 표현식)  (0) 2020.10.15