천쓰의 개발동산

JAVA 버전 정리 ( 8 , 11 , 17 )LTS기준 본문

JAVA

JAVA 버전 정리 ( 8 , 11 , 17 )LTS기준

인천쓰 2024. 6. 8. 00:00
반응형
LTS란 "Long-Term Support"의 약자로, 소프트웨어 개발 및 유지 관리에서 장기 지원을 의미합니다. 이는 소프트웨어가 오랜 기간 동안 유지 보수 및 업데이트를 받는다는 것을 뜻합니다. 일반적으로, LTS 버전은 기업과 개발자들이 장기간 안정적으로 사용할 수 있도록 여러 해 동안 버그 수정, 보안 패치 및 성능 개선 업데이트를 제공해줍니다.
일단 제가 생각하는부분은 색으로 표시해놧습니다.

Java 8 (2014년 3월)

Java 8은 많은 주요 기능을 도입한 릴리스였습니다. 주요 변경 사항은 다음과 같습니다:

  • 람다 표현식 (Lambda Expressions): 함수형 프로그래밍을 가능하게 하는 주요 기능으로, 코드가 더 간결해졌습니다.
    예시) MathOperation square = (int a) -> a * a ; 화살표 함수라고하죠
  • 스트림 API (Stream API): 컬렉션을 처리하는 데 있어 더 많은 기능과 유연성을 제공하며, 병렬 처리를 쉽게 할 수 있게 합니다.
    스트림은 요소를 변환하고, 필터링 할떄 많이씀! collect로 리스트, 세트, 맵 등의 컬렉션으로 변환하거나 필터를 할때많이썻음
  • java.time 패키지: Joda-Time을 기반으로 한 새로운 날짜와 시간 API가 도입되었습니다.
  • 기본 메서드 (Default Methods): 인터페이스에 메서드 구현을 포함할 수 있게 하여, 인터페이스가 쉽게 확장될 수 있습니다.
  • Nashorn JavaScript 엔진: 더 빠르고 최신 ECMAScript 사양을 지원하는 새로운 JavaScript 엔진.
  • Concurrent Accumulators: 새로운 동시 프로그래밍 지원 기능.

Java 11 (2018년 9월)

Java 11은 또 다른 LTS 버전으로, 많은 중요한 기능과 개선사항이 추가되었습니다:

  • 새로운 String 메서드: isBlank(), lines(), strip(), repeat() 등.
  • var 사용 확장: 지역 변수에서 var 사용이 더 많이 지원됩니다.
    List<String> names = new ArrayList<>(); 를   var names = new ArrayList<String>(); 이렇게 사용가능하다는거!! 
  • 새로운 파일 API: Files.writeString(), Files.readString() 등.
    파일 읽고 쓸때 필요한 API 
  • Garbage Collector 개선: ZGC (Z Garbage Collector) 도입으로 더 낮은 지연 시간의 GC 구현.
  • HTTP Client API 표준화: HTTP/2와 WebSocket을 지원하는 새로운 HttpClient API가 추가되었습니다.
  • Java EE 및 CORBA 모듈 제거: 더 이상 사용되지 않는 모듈들이 제거되었습니다.
  • Lambda의 개선된 성능: 람다 표현식의 메모리 소비가 줄어들었습니다.
    JAVA가 람다식을 권장한다는소리

Java 17 (2021년 9월)

Java 17은 최신 LTS 버전으로, 많은 새로운 기능과 안정성이 향상되었습니다:

  • 새로운 패턴 매칭: switch 표현식과 패턴 매칭을 사용한 개선된 문법.
    좀더 표현력이 강해짐
  • Sealed Classes: 상속 구조를 제어할 수 있는 새로운 클래스 종류.
    sealed interface Shape permits Circle, Rectangle, Triangle{} 이렇게 사용한다면 Circle, Rectangle, Triangle이것만 상속할수있게 정하는거임
  • 새로운 HTTP Server 구현: 간단한 HTTP 서버를 시작할 수 있는 새로운 방법.
    HttpServer server 라는 새로운 클래스 사용가능, 간단한 웹 애플리케이션을 개발할떄쓴다보면됨
  • Vector API: SIMD 명령어를 사용하여 벡터 연산을 효율적으로 수행하는 API.
  • 외부 함수 및 메모리 API (Incubator): Java 애플리케이션에서 안전하게 외부 메모리를 다루고 네이티브 함수를 호출할 수 있는 API.
  • 정리된 Garbage Collector: Deprecated 된 다양한 Garbage Collector들이 제거되었습니다.
  • JDK 내부 API 접근 제약 강화: 내부 API에 대한 접근이 더욱 제한되었습니다.
반응형

'JAVA' 카테고리의 다른 글

메이븐 설치 가이드  (0) 2024.07.11
JAVA17 설치 및 환경세팅(Window 11)  (0) 2024.07.11
비전공자의 JAVA 신입 개발자 취업 면접 정리  (1) 2024.06.05