Speed :1
New Score :0
High Score :0
New Score :0
High Score :0
Run Best
NICE BUSINESS TYPE INDICATOR
3. 급전을 친구에게 빌렸는데 오늘이 돈을 주기로 한날.. 그런데 카드값을 내야하는 날도 오늘인데... 이걸 어쩌나...
4. 우리 회사는 중요한 의사 결정을 할때?
5. 열심히 일한 나를 위한 선물을 주고싶다. 어떤게 좋을까?
6. 은행에서 투자상품을 추천받았다. 어떤걸 가입하지?
7. 회사에서의 나는?
8. 꿈에서 깨어나니 20년 전으로 돌아갔다. 당신이 제일 먼저 하는일은?
9. 내가 인사 담당자라면 신규 입사자 채용 시 제일 중요하게 보는것은?
10. 회사에 정말 싫어하는 동료가 있다면?
11. 가난한 집의 가장이 되었다.. 자녀의 생일 날 선물은?
12. 평소 회사 출근 스타일은?
13.회사 체육대회 하는 날이다. 오늘 뭐하지?
14. 나의 업무 스타일은?
JDK 20 릴리즈
2023년 3월 21일 JDK 20이 릴리즈 되었습니다.
이 릴리스에는 새로운 프리뷰 및 인큐베이션 라운드와 함께 Project Amber , Project Loom 및 Project Panama 에 대한 지속적인 기여를 제공하는 JEP가 포함되어 있습니다 . 여기에서 이러한 새로운 기능 중 몇 가지를 살펴봅니다. JDK 20에는 Project Valhalla를 나타내는 JEP가 없다는 점은 주목할 가치가 있습니다 .
Oracle은 Java 프로그래밍 언어 및 가상 머신 버전 20 을 출시했습니다 . 이 최종 기능 세트의 7개 JEP에는 다음이 포함됩니다.
JEP 429: 범위 값(인큐베이터)
JEP 432: 기록 패턴(두 번째 미리보기)
JEP 433: 스위치용 패턴 매칭(네 번째 미리 보기)
JEP 434: 외부 함수 및 메모리 API(두 번째 미리 보기)
JEP 436: 가상 스레드(두 번째 미리 보기)
JEP 437: 구조화된 동시성(두 번째 인큐베이터)
JEP 438: 벡터 API(다섯 번째 인큐베이터)
Java 20의 기능 주기는 JDK 19의 7가지 새로운 기능 및 JDK 18의 9가지 새로운 기능과 유사합니다. 그러나 이는 JDK 18 이전의 일부 최신 릴리스보다 낮습니다: JDK 17의 14개 기능, JDK16의 17개 기능, JDK 15의 14개 기능, JDK 14의 16개 기능입니다.
프로젝트 파나마
JEP 434 및 JEP 438은 프로젝트 파나마의 후원을 받는 프로젝트로, JVM과 잘 정의된 '외부', 즉 비자바(non-Java) API 간의 상호 운용성을 개선하고 강화하기 위해 설계되었으며, 대부분 C 라이브러리 내에서 일반적으로 사용되는 인터페이스가 포함될 가능성이 높습니다.
JEP 434, 외부 함수 및 메모리 API(두 번째 미리보기)는 피드백을 기반으로 개선 사항을 통합니다. 이 기능은 Java 애플리케이션이 외부 함수를 효율적으로 호출하고 JVM에서 관리하지 않는 외부 메모리에 안전하게 액세스하여 Java 런타임 외부의 코드 및 데이터와 상호 운용할 수 있는 API를 제공합니다.
JEP 438, 벡터 API(다섯 번째 인큐베이터)는 이전 네 차례의 인큐베이터에서 받은 피드백을 반영하여 개선 사항을 통합했습니다: 이 기능은 JEP 424, 외부 함수 및 메모리 API(미리보기)에 정의된 대로 메모리 세그먼트에 벡터를 로드하고 저장할 수 있도록 벡터 API를 개선하는 것을 제안합니다.
프로젝트 룸
JEP 429, JEP 436 및 JEP 437은 사용하기 쉽고 처리량이 많은 경량 동시성 및 새로운 프로그래밍 모델을 지원하기 위해 구축된 Java VM 기능 및 API를 탐색, 인큐베이팅 및 제공하기 위한 프로젝트인 Project Loom의 후원을 받습니다. 이는 가상 스레드, 구분된 연속 및 테일 호출을 통해 이루어집니다.
JEP 429 확장-로컬 변수(인큐베이터)로 알려진 인큐베이팅, 범위 지정 값(인큐베이터)은 스레드 내 및 스레드 간에 변경 불가능한 데이터를 공유할 수 있도록 제안합니다. 이는 특히 많은 수의 가상 스레드를 사용할 때 스레드-로컬 변수보다 선호됩니다.
JEP 436, 가상 스레드(두 번째 프리뷰) 이 기능은 처리량이 많은 동시 애플리케이션을 작성, 유지 관리 및 관찰하는 데 드는 수고를 획기적으로 줄여주는 경량 스레드인 가상 스레드를 Java 플랫폼에 제공합니다. JDK 19에서 영구적으로 제공되었으므로 이번 두 번째 프리뷰에서는 제안되지 않은 JEP 425의 소수의 API를 제외하고는 이번 프리뷰에는 변경 사항이 없다는 점에 유의하시기 바랍니다.
JEP 437, 구조적 동시성(두 번째 인큐베이터) 이 기능의 목적은 서로 다른 스레드에서 실행되는 여러 작업을 단일 작업 단위로 처리하는 라이브러리를 도입하여 멀티스레드 프로그래밍을 단순화하는 것입니다. 이를 통해 오류 처리 및 취소를 간소화하고, 안정성을 개선하며, 통합 가시성을 향상시킬 수 있습니다. 유일한 변경 사항은 작업 범위에서 생성된 스레드에 의한 범위 지정 값 상속을 지원하기 위해 업데이트된 StructuredTaskScope 클래스입니다. 이를 통해 스레드 간에 변경 불가능한 데이터의 공유가 간소화됩니다.
가상 스레드 및 구조화된 동시성 API를 구현하는 방법에 대한 작업 애플리케이션은 Oracle의 Java 개발자 지지자인 Nicolai Parlog가 작성한 이 GitHub 리포지토리와 Contrast Security의 수석 소프트웨어 엔지니어인 Bazlur Rahman이 작성한 이 GitHub 리포지토리에서 확인할 수 있습니다.
프로젝트 엠버
JEP 432와 JEP 433은 생산성 향상을 위해 더 작은 Java 언어 기능을 탐색하고 인큐베이팅하기 위해 고안된 프로젝트인 Project Amber의 후원을 받고 있습니다.
JEP 432, 레코드 패턴(두 번째 프리뷰)에는 이전 프리뷰인 JEP 405, 레코드 패턴(프리뷰)의 피드백을 반영한 개선 사항이 포함되어 있습니다. 여기에는 레코드 값을 분해하는 레코드 패턴으로 언어를 개선할 것을 제안합니다. 레코드 패턴은 유형 패턴과 함께 사용하여 "강력하고 선언적이며 컴포저블한 형태의 데이터 탐색 및 처리를 가능하게" 할 수 있습니다. 유형 패턴은 최근 스위치 케이스 레이블에 사용하도록 확장되었습니다.
마찬가지로 JEP 433, 스위치용 패턴 일치(네 번째 프리뷰)에는 이전 세 차례의 프리뷰에서 받은 피드백에 대한 개선 사항이 포함되어 있습니다: JEP 427의 변경 사항에는 스위치 레이블에 대한 간소화된 문법, 일반 유형 패턴 및 레코드 패턴에 대한 유형 인수 추론이 이제 패턴을 지원하는 다른 구문과 함께 스위치 표현식 및 문에서 지원됩니다.
스위치 API에 대한 레코드 패턴 및 패턴 매칭을 구현하는 방법에 대한 작업 애플리케이션은 글로벌 포인트의 Java 기술 책임자인 웨슬리 에그베르토가 작성한 이 GitHub 리포지토리 java-19 폴더에서 확인할 수 있습니다.
JDK 21
JEP 431, 현재 JDK 21에 포함되도록 타겟팅된 JEP는 하나 뿐입니다. 이 JEP는 "요소가 잘 정의된 순서 또는 순서대로 배열된 컬렉션의 개념을 컬렉션의 구조적 속성으로 나타내는 새로운 인터페이스 제품군"을 도입할 것을 제안합니다. 컬렉션 프레임워크 내에서 잘 정의된 순서와 통일된 작업 집합이 부족하다는 것이 동기가 되었습니다.
다음 LTS 버전인 JDK 21의 정식 릴리스 날짜는 아직 발표되지 않았지만 6개월 릴리스 주기에 따라 2023년 9월 중순에 제공될 것으로 예상됩니다. 개발자는 2023년 6월 중순에 기능 동결을 예상할 수 있습니다.
참고 링크
728x90
반응형