본문 바로가기

JDK5

JDK 24 새로운 기능 개요2025/03/18 JDK 24 GA 버전이 출시되었고, 이번 버전에 새롭게 추가된 기능에 대하여 간단히 알아본다. Features488: Primitive Types in Patterns, instanceof and swith (Second Preview)Java 24에서는 instanceof 연산자와 switch 표현식 및 명령문과 같은 모든 패턴 콘텍스트에서 기본 유형을(primitive types) 포함하도록 패턴 매칭을 확장한다. 이번 업데이트를 통해 객체(object) 및 기본 유형(primitive types) 모두에서 작업할 때 더 간결하고 읽기 쉬운 코드를 사용할 수 있다. instanceof 연산자와 switch 표현식 및 명령문은 모든 기본 유형에서 작동하도록 확장된다.Exampl.. 2025. 3. 30.
JAVA 24 Flexible Constructor Bodies 개요2025/03/18 JDK 24 GA 버전이(https://jdk.java.net/24/) 출시되었다. JDK 24 추가된 기능들에 대해서는 다음 포스팅에서 알아보고, 이번 포스트에서는 여러 추가된 기능 중 Flexible Constructor Bodies에 대하여 알아본다.Flexible Constructor Bodies 기능은 Java 프로그래밍 언어에서 생성자(constructor) 내에서 명시적 생성자 호출(super(...) 또는 this(...)) 전에 코드를 작성할 수 있는 기능을 제공한다.(이전 버전에서는 생성자 호출 이전에 작성한 코드에 대해서는 컴파일 오류가 발생한다.) super(...), this(...)는 생성 중인 인스턴스를 참조할 수는 없지만, 인스턴스의 필드를 초기화할 수.. 2025. 3. 26.
Win10 SDKMAN으로 JAVA 설치하기 개요JDK 설치는 IDE에서도 해주지만 graalvm을 사용한 Native build나 특별한 JDK가 필요한 경우는 별도 설치가 필요한데 SDKMAN을(https://sdkman.io/) 사용하면 원하는 JDK 버전을 쉽게 찾고 설치할 수 있다. Mac에서는 명령하나로 설치할 수 있지만 윈도우에서는 몇가지 설정이 필요하여 간단히 정리해본다. Getting started7-Zip 설치https://www.7-zip.org/ 에서 다운받아 설치해준다. 7-Zip 설치 위치에서 7z.exe 파일을 복사하여 zip.exe 파일로 이름을 변경한다. 시스템 속성에서 환경 변수에 Path항목에 7-Zip 위치를 추가한다. Git 설치https://git-scm.com/downloads/win에서 다운받아 설치한다... 2025. 1. 14.
Java JVM - Checkpoint Restore (CRaC) 개요이전 게시글에서 소개했던 Spring Runtime efficiency 문서에서(https://blog.igooo.org/115) CRaC에 대하여 소개한 적이 있는데 간단한 예제로 사용방법을 알아본다. K8S에 배포하는 파이프라인까지를 구성하고 문서를 작성하려고 했으나 사용 중인 K8S Node가 CRIU를(https://criu.org/Main_Page) 지원하지 않는 Ubuntu 배포판(20.04) 버전이라 K8S 배포는 추후에 작성한다. (Job으로 스냅샷을 생성하고 배포하는 방법) Spring Boot 3.2부터 CRaC를(https://spring.io/blog/2023/11/23/spring-boot-3-2-0-available-now) 지원하기 시작했다. CRaC는 Coodinated .. 2024. 7. 20.
Virtual Threads Summary높은 처치량의 동시성 애플리케이션을 개발하는데 사용하는 lighweight threads. HistoryJDK 19 미리보기 기능으로 제안되었고, 아래 변경사항을 포함하여 JDK 21에 추가될 예정thread-local variables 지원Thread API를 통해 직접 생성 가능Goalsthread-per-reqeust style로 하드웨어를 최대한 활용한 코드를 쉽게 작성 할 수 있게 해준다.java.lang.Thread API를 사용하여 최소한의 변경으로 가상 스레드를 적용할 수 있게 한다.기존 JDK 툴로 트러블 슈팅, 디버깅, 프로파일링을 가능하게 한다.Non-Goals전통적인 스레드 구현을 제거하거나, 가상 스레드 사용으 위해서 기존 애플리케이션을 마이그레이션하는 것이 목표가 아.. 2024. 6. 2.