[jdk] jdk21 release

개요

2023년 9월 19일. 드디어 jdk 21이 release 되었습니다. jdk 17 lts 이후 2년 만에 만나 보는 lts이기 때문에 반갑기 그지 없습니디.

특징

  • JEP 430 - 문자열 템플릿 (Preview)
  • JEP 431 - 순차 컬렉션
  • JEP 439 - 세대별 ZGC
  • JEP 440 - 레코드 패턴
  • JEP 441 - 스위치 패턴 매칭
  • JEP 442 - 외부 함수 및 메모리 API (Third Preview)
  • JEP 443 - 명명 되지 않은 패턴 및 변수 (Preview)
  • JEP 444 - 가상 스레드
  • JEP 445 - 명명 되지 않은 클래스 및 인스턴스 Main 메서드 (Preview)
  • JEP 446 - 범위 값 (Preview)
  • JEP 448 - 벡터 API (Sixth Incubator)
  • JEP 449 - 제거를 위해 windows 32비트 x86 포트 중단
  • JEP 451 - 에이전트의 동적 로드를 허용 되지 않도록 준비
  • JEP 452 - 키 캡슐화 매커니즘
  • JEP 453 - 구조적 동시성 (Preview)

2023년 9월 23일 기준으로 아래 공급사에서 jdk 21 버전이 출시되었습니다.

zulu

https://www.azul.com/downloads/?package=jdk#zulu

corretto

https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/downloads-list.html

oracle

https://www.oracle.com/java/technologies/downloads/

  • oracle은 NFTC(참고)라는 oracle 무료 약관에 따라 다음 LTS 출시 1년 후까지 무료 업데이트, 무료 배포가 가능합니다.
  • 이후 부터는 OTN (참고) 라이선스로 변경되어 제한된 무료, 그 이상은 수수료를 받는 정책을 가지고 있습니다.

adoptium은 약 1주 정도 걸릴꺼라 예상됩니다.

다음 시간에 jdk21의 꽃이라 할 수 있는 가상 스레드에 대해서 나눠보도록 하겠습니다.

jdk21 openjdk

2023

[linux] shell script version compare

최대 1 분 소요

개요 linux를 사용하다 보면 version 비교하는 기능이 필요합니다. 특히 기존 설치된 패키지의 version을 확인하여 업데이트할 경우가 있겠죠. 아래와 같이 간단한 shell script로 구현할 수 있습니다.

[jenkins] jenkins docker install

2 분 소요

ci/cd 오픈소스 도구로 가장 많이 사랑 받는 jenkins에 대해 포스팅 해보겠습니다. 먼저 설치부터 해야겠지요? 항상 패키지 매니저로 설치했었는데 이번에는 docker로 설치해보도록 하겠습니다.

[springboot] springboot history

2 분 소요

springboot 탄생 배경 springboot란 spring framework를 좀 더 쉽게 개발/배포할려는 목적으로 만들어 졌습니다. 2012년 Mike Youngstrom은 spring 프레임워크에서 컨테이너 없는 웹 애플리케이션 아키텍처에 대한 지원을 요청하는 spring...

[springboot] springboot3 querydsl 적용

1 분 소요

개요 springboot3로 메이저 업그레이드 되면서 JPA + querydsl 셋팅 환경에 변화가 생겼습니다. 기존 의존성으로는 작동하지 않고 jakarta classification을 추가해야 작동하는 이슈가 발생합니다. springboot3부터 javax -> jakar...

[springboot] springboot3 migration

최대 1 분 소요

개요 2022년 하반기에 springboot3가 공식 release 되었습니다. springboot2가 2018년 상반기에 release되고 나서 새롭게 판올림 버전으로 가장 큰 변화로는 아래와 같습니다. spring framework 6 적용 최소 사양 JDK 17 ...

[springboot] springboot initializer

최대 1 분 소요

개요 항상 intellij ultimate 버전만 사용하고 있었는데 무슨 바람이 난건지.. intellij ce 버전에 도전하였습니다. springboot 프로젝트 생성이며.. 그 밖에 기본적으로 될꺼라 싶은것 중에 안되는 녀석들도 꽤 있더군요. 이번 시간엔 간단하게 spingbo...

[querydsl] querydsl No release for a long time

최대 1 분 소요

개요 JPA를 spring data jpa + querydsl과의 조합으로 접하는 경우가 많습니다. spring data jpa에서 제공해주는 specification으로도 충분히 해낼수 있지만 querydsl에 비할바는 아닙니다. entity에 wrapper Q클래스를 생성하여 ...

[jekyll] jekyll install

6 분 소요

개요 오랫동안 방치했던 블로그를 다시 열면서 jekyll를 다시 설치해봤습니다. 설치 jekyll 프로젝트로 이동하여 아래 명령어를 입력합니다. gem install jekyll bundler Fetching pathutil-0.16.2.gem Fetching terminal-t...

맨 위로 이동 ↑

2021

[linux] Parse yaml

최대 1 분 소요

bash를 사용하여 yaml 파일을 파싱 및 환경 변수로 손쉽게 등록할 수 있습니다.

[유틸리티] Mock Http Status Test

최대 1 분 소요

외부 통신에 대한 Error 처리는 앱을 더욱 더 견고하게 만들 수 있습니다. Error 처리를 위해 엔드포인트에 대한 Http Status Code를 억지로 생성하는것은 매우 귀찮은 일이라고 할까요? 보다 간편하게 Mock 서버를 두는게 더 효율적이라고 볼 수 있습니다.

맨 위로 이동 ↑