openjdk 12 ~ 21 feature

2024. 11. 15. 16:37·개발/java

openjdk 11 이후 정체되어있는 나의 나태함에 경각심을 주고자 신규 피처들을 적어본다.

preview, incubator가 정식피처로 올라온 경우 버전표기했다.

 

JDK12

189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
230: Microbenchmark Suite
325: Switch Expressions (Preview) => JDK14 Standard
334: JVM Constants API
340: One AArch64 Port, Not Two
341: Default CDS Archives
344: Abortable Mixed Collections for G1
346: Promptly Return Unused Committed Memory from G1

 

JDK13

350: Dynamic CDS Archives
351: ZGC: Uncommit Unused Memory
353: Reimplement the Legacy Socket API
354: Switch Expressions (Preview) => JDK14 Standard
355: Text Blocks (Preview)=> JDK15

 

JDK14

305: Pattern Matching for instanceof (Preview)
343: Packaging Tool (Incubator) => JDK16
345: NUMA-Aware Memory Allocation for G1
349: JFR Event Streaming
352: Non-Volatile Mapped Byte Buffers
358: Helpful NullPointerExceptions
359: Records (Preview)
361: Switch Expressions (Standard)
362: Deprecate the Solaris and SPARC Ports
363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector
364: ZGC on macOS
365: ZGC on Windows
366: Deprecate the ParallelScavenge + SerialOld GC Combination
367: Remove the Pack200 Tools and API
368: Text Blocks (Second Preview) => JDK15
370: Foreign-Memory Access API (Incubator)

 

JDK15

339: Edwards-Curve Digital Signature Algorithm (EdDSA)
360: Sealed Classes (Preview) => JDK17
371: Hidden Classes
372: Remove the Nashorn JavaScript Engine
373: Reimplement the Legacy DatagramSocket API
374: Disable and Deprecate Biased Locking
375: Pattern Matching for instanceof (Second Preview) => JDK16
377: ZGC: A Scalable Low-Latency Garbage Collector
378: Text Blocks
379: Shenandoah: A Low-Pause-Time Garbage Collector
381: Remove the Solaris and SPARC Ports
383: Foreign-Memory Access API (Second Incubator)
384: Records (Second Preview) => JDK16
385: Deprecate RMI Activation for Removal

 

JDK16

338: Vector API (Incubator)
347: Enable C++14 Language Features
357: Migrate from Mercurial to Git
369: Migrate to GitHub
376: ZGC: Concurrent Thread-Stack Processing
380: Unix-Domain Socket Channels
386: Alpine Linux Port
387: Elastic Metaspace
388: Windows/AArch64 Port
389: Foreign Linker API (Incubator)
390: Warnings for Value-Based Classes
392: Packaging Tool
393: Foreign-Memory Access API (Third Incubator)
394: Pattern Matching for instanceof
395: Records
396: Strongly Encapsulate JDK Internals by Default
397: Sealed Classes (Second Preview) => JDK17

 

JDK17

306: Restore Always-Strict Floating-Point Semantics
356: Enhanced Pseudo-Random Number Generators
382: New macOS Rendering Pipeline
391: macOS/AArch64 Port
398: Deprecate the Applet API for Removal
403: Strongly Encapsulate JDK Internals
406: Pattern Matching for switch (Preview) =>JDK21
407: Remove RMI Activation
409: Sealed Classes
410: Remove the Experimental AOT and JIT Compiler
411: Deprecate the Security Manager for Removal
412: Foreign Function & Memory API (Incubator)=>JDK22
414: Vector API (Second Incubator)
415: Context-Specific Deserialization Filters

 

JDK18

400: UTF-8 by Default
408: Simple Web Server
413: Code Snippets in Java API Documentation
416: Reimplement Core Reflection with Method Handles
417: Vector API (Third Incubator)
418: Internet-Address Resolution SPI
419: Foreign Function & Memory API (Second Incubator)=>JDK22
420: Pattern Matching for switch (Second Preview) =>JDK21
421: Deprecate Finalization for Removal

 

JDK19

405: Record Patterns (Preview) => JDK21
422: Linux/RISC-V Port
424: Foreign Function & Memory API (Preview)=>JDK22
425: Virtual Threads (Preview)=>JDK21
426: Vector API (Fourth Incubator)
427: Pattern Matching for switch (Third Preview) =>JDK21
428: Structured Concurrency (Incubator)

 

JDK20

429: Scoped Values (Incubator)
432: Record Patterns (Second Preview)=> JDK21
433: Pattern Matching for switch (Fourth Preview)=>JDK21
434: Foreign Function & Memory API (Second Preview)=>JDK22
436: Virtual Threads (Second Preview)=>JDK21
437: Structured Concurrency (Second Incubator)
438: Vector API (Fifth Incubator)

 

JDK21

430: String Templates (Preview)
431: Sequenced Collections
439: Generational ZGC
440: Record Patterns
441: Pattern Matching for switch
442: Foreign Function & Memory API (Third Preview) =>JDK22
443: Unnamed Patterns and Variables (Preview)
444: Virtual Threads
445: Unnamed Classes and Instance Main Methods (Preview)
446: Scoped Values (Preview)
448: Vector API (Sixth Incubator)
449: Deprecate the Windows 32-bit x86 Port for Removal
451: Prepare to Disallow the Dynamic Loading of Agents
452: Key Encapsulation Mechanism API
453: Structured Concurrency (Preview)

 

JDK 21 하면 아무래도 virtual thread 가 눈에 띄기 때문에 관련 기술 블로그와 유븁을 링크해본다.

https://tech.kakaopay.com/post/ro-spring-virtual-thread/

 

[Project Loom] Virtual Thread에 봄(Spring)은 왔는가 | 카카오페이 기술 블로그

어제도 오늘도 내일도 일 수천만 건 이상의 트래픽을 받는 머니플랫폼에서 Virtual Thread를 적용한 경험을 공유합니다.

tech.kakaopay.com

https://techblog.woowahan.com/15398/

 

Java의 미래, Virtual Thread | 우아한형제들 기술블로그

JDK21에 공식 feature로 추가된 Virtual Thread에 대해 알아보고, Thread, Reactive Programming, Kotlin coroutines와 비교해봅니다.

techblog.woowahan.com

https://www.youtube.com/watch?v=BZMZIM-n4C0

https://tech.payhere.in/post/20240424-virtual-thread/

 

Virtual Thread 성능 테스트 with JDK21 & Spring boot 3.2

주의 : 이 글에는 맥락이 없다

tech.payhere.in

 

728x90

'개발 > java' 카테고리의 다른 글

BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 65  (1) 2025.01.18
jib  (2) 2024.12.26
spring cloud task  (1) 2024.11.14
jasypt  (1) 2024.11.13
@Aspect로 공통header 처리  (2) 2024.02.19
'개발/java' 카테고리의 다른 글
  • BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 65
  • jib
  • spring cloud task
  • jasypt
yunapapa
yunapapa
working on the cloud
    250x250
  • yunapapa
    supermoon
    yunapapa
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • 개발 (20)
        • java (17)
        • web (2)
        • MSX (1)
        • Go (0)
      • CloudNative (50)
        • App Definition & Developeme.. (17)
        • Orchestration & Management (4)
        • Runtime (3)
        • Provisioning (7)
        • Observability & Analysis (14)
        • event review (5)
      • AWS (7)
      • 환경관련 (17)
      • 취미생활 (0)
        • 맛집 (0)
        • 게임 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • CNCF Past Events
    • Kubernetes Korea Group
  • 공지사항

  • 인기 글

  • 태그

    Pinpoint
    gitlab
    istio
    springboot
    오블완
    k8s
    Java
    티스토리챌린지
    dop-c02
    devops
    OpenShift
    helm
    APM
    kubernetes
    AWS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
yunapapa
openjdk 12 ~ 21 feature
상단으로

티스토리툴바