Computer Science/Java / / 2024. 4. 21. 23:53

JAVA 8 vs JAVA 11 vs JAVA 17

대부분 사용하고 있는 자바 버전들에서 가장 큰 차이점을 비교해서 글을 써보려고 합니다

대중적으로 사용하고 있는 자바 8,11,17을 중점으로 살펴보겠습니다.

자바 8

  • JAVA 버전의 첫 번째 LTS로 출시된 버전입니다
  • 32비트를 지원하며 이후 64비트만 지원하게 됩니다
  • 현재까지도 가독성을 위해 자주 사용되는 Stream API가 출시되었습니다
    • Stream API는 내용이 방대하고 자주 쓰이므로 추후에 게시하겠습니다
  • 람다식이 제공되어, 익명함수의 개념이 자바에 도입되었습니다
  • PermGem 영역이 제거 되고, MetaSpace가 새로 생겼습니다.
  • LocalDateTime과 같은 날짜 API가 제공됩니다
    • 현재 LocalDateTime은 created_at, updated_at과 같은 필드명으로 자주 사용됩니다.
    • 어노테이션으로는 ‘@CreatedDate’, ‘@LastModifiedDate’가 존재합니다.

자바 11

  • Open JDK와 Oracle JDK가 통합되었습니다
  • GC(Garbage Collector)의 방법이 변경되었습니다. → G1 GC
  • var과 같은 지역 변수 키워드가 생겼습니다

자바 17

  • record class가 생겨 kotlin의 data class와 비슷한 역할을 합니다
  • 필자가 느낀 좋은 점은 switch문을 사용할 떄, 더 이상 break를 걸어주지 않아도 된다는 점 이였습니다.]
  • Spring Boot 3.0 이상 버전에서는 자바 17이상을 지원합니다.
  • 난수 생성 방식이 향상 되었습니다.

Reference

https://remover.tistory.com/220

 

Java 12-17 변경점

LTS Java 11 다음인 17이 발표 됨에 따라서 12~17까지의 변화를 나열해보려고 합니다. Java 12 JEP 325: Switch Expressions (Preview) - Switch Expression 변경에 대한 Preview String a = switch(obj) { case "AAA", "BBB", "CCC" -> "c";

remover.tistory.com

https://cheerup313.tistory.com/86

 

[JAVA] 자바 버전에 대하여 (java 8, 11, 17 버전 차이/17버전 사용이유)

나의 경우, 학원에서는 11버전을 쓰고 회사에서는 8 버전을 쓰고 궁금한 건 17버전이다 (?) 자바 버전은 왜이렇게 많으며, 어떤걸 써야 좋은지 모르겠어서 좀 찾아봤다. 자바 JDK LTS버전 https://www.jav

cheerup313.tistory.com

 

'Computer Science > Java' 카테고리의 다른 글

Class Loading  (0) 2024.05.05
Inner Class  (0) 2024.04.28
JAVA record란?  (1) 2024.04.03
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유