Java 버전별 특징 (v1-v19)

중요한 버전만 기록해두고, 버전별 세부 내용은 아래의 링크를 참고하자.

참고

java 5

  • generics

  • annotation

  • concurrency api

  • enumeration

  • auto boxing and unboxing

java 8

  • lambda expression

  • method reference

  • interface default methods

  • optional api

  • date time api

  • stream api

java 9

  • jigsaw : 모듈을 만들고 모듈에 명시적으로 외부에서 호출할 수 있는 api 를 선언한다.

    • 선언한 api 이외에는 외부에서 접근할 수 없다.

    • 기존의 gradle, maven 패키징에서는 서로 다른 패키지 간의 캡슐화가 지원되지 않았음

    • java platform 을 모듈화하는 것이 편리해짐

  • new http client

  • try-with-resources

  • diamond operator

  • interface private method

  • optional to stream

java 11

  • new string method

    • strip()

    • stripLeading()

    • stripTrailing()

    • isBlank()

    • lines()

    • repeat(n) : 지정된 수 만큼 문자열을 반복+붙여서 반환

  • lambda var 지원

java 14

  • switch 문 개선

  • record

  • 좀 더 자세한 null pointer exception

java 15

  • multiline strings, text-blocks : 문자열을 개행문자 없이 여러줄에 걸쳐서 쓸 수 있게 됨

java 16

  • openJDK 의 소스코드 버전 관리 시스템이 Mercurial -> Git 으로 변경됨. 이제 Git 에서 JDK 소스코드를 볼 수 있음!

java 17

  • RandomGenerator : 의사난수 생성기를 통해서 어려운 난수를 생성할 수 있는 API 추가됨

Last updated