본문 바로가기

자바

[JAVA] 자바 8, 11, 17, 21 그리고 22 업데이트

728x90

 

최근 (3/19/2024) JDK22가 등장했다.

먼저 자바 8, 11, 17, 21부터 정리를 하고 22에 어떤 기능이 바뀌고 추가 되었는지 설명하겠다.

/* 자바 8 - 2014년 출시 */

  • 람다 표현식 & Functional Interface
  • 스트림 API
  • 날짜와 시간 API (LocalDate, LocalDateTime, ...)
  • Optional
  • 인터페이스의 디폴트 메소드

/* 자바 11 - 2018년 출시 */

  • Predicate
  • String에 새로운 메소드 추가
    • isBlank() : 문자열 비어있거나 공백만 포함했으면 true
    • repeat(int n) : n개만큼 문자열 반복해서 붙여서 반환
    • strip() : 문자열 앞, 뒤 공백 제거
    • stripLeading() : 문자열 앞 공백 제거
    • stripTrailing() : 문자열 뒤 공백 제거
  • HTTP Client : Java 9 의 HTTP 클라이언트가 표준 기능이 되었고 1.1 , 2 버전 지원

/* 자바 17 - 2021년 출시 */

  • record 클래스 : dto 생성 쉽다
  • instanceof : 패턴 매칭

/* 자바 21- 2023년 출시 */

  • 버츄얼스레드 (Virtual Thread)
  • record 클래스 업그레이드

/* 자바 22- 2024년 출시 */

https://www.loicmathieu.fr/wordpress/en/informatique/java-22-quoi-de-neuf/  (해당 블로그 참고)

  • stream의 gather()메서드 추가
  • super() 메서드 실행 전 (위에) 코드 추가 가능
  • ListFormat 컬렉션 추가 () : locale(상황)에 따른 포맷 가능 STANDARD, OR, UNIT, STANDARD 선택 가능
  • Foreign Function & Memory API (프리뷰 단계)
  • Unnamed Variables & Patterns (프리뷰 단계) : '_' 인 변수명 사용 가능
  • ... 이외에도 많다
728x90