대부분 사용하고 있는 자바 버전들에서 가장 큰 차이점을 비교해서 글을 써보려고 합니다
대중적으로 사용하고 있는 자바 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
https://cheerup313.tistory.com/86
'Computer Science > Java' 카테고리의 다른 글
Class Loading (0) | 2024.05.05 |
---|---|
Inner Class (0) | 2024.04.28 |
JAVA record란? (1) | 2024.04.03 |