본문 바로가기

OS & network/cloud

오라클 자바 20 출시 ( Oracle Java 20 Release News)

 

3월 21일...한국 시간으로 3월 22일에 오라클에서 자바 20을 출시 했네요..

버전업이 후덜덜....입니다.

자바 1.0 과 자바 1.1 ,자바 1.2를 공부했던...저는......(What???? ...아재 인증;;;)

정작 자바 프로그래밍은 다 까먹고 사용하지도 않고 ..ㅠㅠ 

암튼..썬에서 부터 시작해서 최근에 인기측면에서는 파이썬에게 밀렸지만, 여전히 엔터프라이즈, 금융, 대규모 프로젝트에서만큼은 여전히 자바가 탑!! 이죠.

 

결론적으로 

오라클은 오늘 세계 최고의 프로그래밍 언어 및 개발 플랫폼의 최신 버전인 Java 20 의 출시를 발표했습니다 . 

Java 20(Oracle JDK 20)은 개발자가 생산성을 향상하고 조직 전체에서 혁신과 성장을 주도하는 데 도움이 되는 플랫폼 향상을 포함하여 수천 가지의 성능, 안정성 및 보안 개선 사항을 제공한다고 하네요. 

당연하게 오라클은 OCI에서 Java Management Service 를 통해서 이를 제공합니다. :-)

 

오라클은 3월 20일부터 23일까지 캘리포니아 레드우드 쇼어스에서 온라인으로 진행되는 Oracle DevLive Level Up 이벤트 에서 오늘 열리는 Java Developer Day에서 Java 20의 최신 기능을 선보입니다 .

 

사실 여기 제 친구들도 이미 많이 참석해 있더군요..ㅠㅠ 저는 여유가 없었어요..ㅜㅜ

 

최신 JDK(Java Development Kit)는 7개의 JEP(JDK Enhancement Proposal)로 업데이트 및 개선 사항을 제공합니다. 대부분의 업데이트는 이전 릴리스에 도입된 기능을 개선하는 후속 기능입니다.

 

JDK 20은 OpenJDK 프로젝트 Amber(Record Patterns and Pattern Matching for Switch)의 언어 개선 사항을 제공합니다. JVM(Java Virtual Machine)과 네이티브 코드(Foreign Function & Memory API 및 Vector API)를 상호 연결하기 위한 OpenJDK Project Panama의 개선 사항 그리고 Project Loom(범위 지정 값, 가상 스레드 및 구조화된 동시성)과 관련된 기능은 높은 처리량의 동시 응용 프로그램을 작성, 유지 관리 및 관찰하는 프로세스를 획기적으로 간소화합니다.

 

Oracle은 예측 가능한 릴리스 일정을 통해 6개월마다 새로운 Java 기능 릴리스를 제공합니다. 모든 규모의 조직과 산업에서 Java의 보급을 증가시키는 데 도움이 되는 플랫폼의 성능, 안정성 및 보안에 대한 지속적인 개선을 제공하는 동시에 지속적인 혁신을 제공한다고 합니다.

 

Java 20에서 제공되는 가장 중요한 업데이트는 다음과 같습니다.

 

언어 업데이트 및 개선

  • JEP 432 : 레코드 패턴(두 번째 미리 보기): 사용자가 레코드 패턴과 유형 패턴을 중첩하여 데이터 탐색 및 처리의 강력하고 선언적이며 구성 가능한 형식을 만들 수 있도록 하여 Java 언어를 향상시킵니다. 이는 개발자가 패턴 일치를 확장하여 보다 정교하고 구성 가능한 데이터 쿼리를 허용함으로써 개발자 생산성을 높이는 데 도움이 됩니다.
  • JEP 433 : Switch에 대한 패턴 일치(네 번째 미리 보기): 패턴 일치를 스위치로 확장하면 복잡한 데이터 지향 쿼리를 간결하고 안전하게 표현할 수 있도록 각각 특정 동작이 있는 여러 패턴에 대해 식을 테스트할 수 있습니다. 스위치 식 및 명령문의 표현력과 적용 가능성을 확장하면 개발자 생산성을 높일 수 있습니다.

프로젝트 Loom 미리보기/인큐베이터 기능

  • JEP 429 : Scoped Values(인큐베이터): 특히 많은 수의 가상 스레드를 사용할 때 스레드 로컬 변수보다 선호되는 스레드 내부 및 스레드 간에 불변 데이터 공유를 활성화합니다. 이는 사용 용이성, 이해성, 견고성 및 성능을 향상시킵니다.
  • JEP 436 : 가상 스레드(두 번째 미리 보기): Java 플랫폼에 경량 가상 스레드를 도입하여 처리량이 많은 동시 애플리케이션을 작성, 유지 관리 및 관찰하는 프로세스를 크게 간소화합니다. 개발자가 기존 JDK 도구 및 기술을 사용하여 동시 응용 프로그램의 문제를 쉽게 해결, 디버깅 및 프로파일링할 수 있도록 함으로써 가상 스레드는 응용 프로그램 개발을 가속화하는 데 도움이 됩니다.
  • JEP 437 : 구조적 동시성(두 번째 인큐베이터): 서로 다른 스레드에서 실행 중인 여러 작업을 단일 작업 단위로 처리하여 다중 스레드 프로그래밍을 단순화합니다. 이를 통해 개발 팀은 오류 처리 및 취소를 간소화하고 안정성을 개선하며 관찰 가능성을 향상할 수 있습니다.

프로젝트 파나마 미리보기 기능

  • JEP 434 : 외부 기능 및 메모리 API(두 번째 미리 보기): Java 프로그램이 Java 런타임 외부의 코드 및 데이터와 상호 운용할 수 있도록 합니다. 외부 기능(즉, JVM[Java Virtual Machine] 외부의 코드)을 효율적으로 호출하고 외부 메모리(즉, JVM에서 관리하지 않는 메모리)에 안전하게 액세스함으로써 이 기능을 사용하면 Java 프로그램이 네이티브 라이브러리를 호출하고 네이티브 데이터를 처리할 수 있습니다. Java Native Interface가 필요합니다. 이를 통해 사용 편의성, 성능 및 안전성이 향상됩니다.
  • JEP 438 : Vector API(다섯 번째 인큐베이터): 런타임 시 지원되는 CPU 아키텍처에서 벡터 명령으로 안정적으로 컴파일되는 벡터 계산을 표현합니다. 이것은 동등한 스칼라 계산에 비해 성능을 향상시킵니다.

Java 20 릴리스는 Oracle 엔지니어와 OpenJDK 및 JCP(Java Community Process)를 통한 전 세계 Java 개발자 커뮤니티의 다른 구성원 간의 광범위한 협력의 결과입니다 . 새로운 개선 사항 외에도 Java 20은 조직이 온프레미스 또는 모든 클라우드에서 Java 런타임 및 애플리케이션을 관리할 수 있도록 단일 창을 제공하는 Oracle Cloud Infrastructure (OCI) 기본 서비스 인 Java Management Service 에서 지원됩니다.

 

Java 고객 및 글로벌 생태계 지원

Oracle Java Universal SE Subscription은 전체 Java 포트폴리오에 대한 분류 지원, GraalVM Enterprise, Java SE Subscription Enterprise Performance Pack, 액세스 권한 등 동급 최고의 지원을 고객에게 제공하는 종량제 제품입니다. Java Management Service의 고급 기능과 비즈니스 속도에 맞춰 업그레이드할 수 있는 유연성을 제공합니다. 

이를 통해 IT 조직은 복잡성을 관리하고 비용을 억제하며 보안 위험을 완화할 수 있습니다. 

또한 Oracle Java SE, GraalVM Enterprise 및 Java SE Subscription Enterprise Performance Pack은 OCI에서 무료로 제공되므로 개발자는 Oracle Cloud에서 더 빠르고 우수하며 탁월한 비용 대비 성능으로 실행되는 애플리케이션을 구축하고 배포할 수 있습니다.  

Java 및 해당 글로벌 생태계에 대해 자세히 알아보려면 다음을 방문해 보시길 바래요~

  • Dev.java : Java 학습을 위한 공식 포털
  • Inside.java : Oracle Java 팀 구성원의 뉴스 및 견해
  • Java YouTube : Java 학습 비디오를 위한 공식 Java YouTube 포털