java:version

제공 지원종료 (확장)
Oracle 2030. 09 (2033. 09)
제공 지원종료 (확장)
Oracle 2025. 09
Azul 2025. 09
제공 지원종료 (확장)
Oracle 2025. 03
Azul 2025. 03
제공 지원종료 (확장)
Oracle 2024. 09
Eclipse Temurin 2024. 09
Azul 2024. 09
제공 지원종료 (확장)
Oracle 2028. 09 (2031. 09)
Eclipse Temurin 2029. 10
Azul 2031. 09
Amazon Corretto 2023. 10
Redhat 2029. 11
  • JEP 430: String Templates (Preview)
  • JEP 431: Sequenced Collections
  • JEP 439: Generational ZGC
  • JEP 440: record 패턴(cf. Tuple)
  • JEP 441: switch 패턴 매칭
  • JEP 442: Foreign Function & Memory API (Third Preview)
  • JEP 443: 무명 패턴과 변수 (Preview)
  • JEP 444: 가상 스레드(Virtual Threads)
  • JEP 445: 메인 메소드의 무명 클래스와 인스턴스 (Preview)
  • JEP 446: Scoped Values (Preview)
  • JEP 448: Vector API (Sixth Incubator)
  • JEP 449: Windows 32-bit x86 Port deprecated for Removal
  • JEP 451: Prepare to Disallow the Dynamic Loading of Agents
  • JEP 452: Key Encapsulation Mechanism API
  • JEP 453: 구조화된 동시성(Structured Concurrency) (Preview)

JEP 445

· 2024/01/27 15:11
제공 지원종료 (확장)
Oracle 2023. 09
OpenJDK 2023. 09
Eclipse Temurin 2023. 09
Oracle 2023. 09
Amazon Corretto 2023. 10.
  • JEP 429: Scoped Values (Incubator)
  • JEP 432: Record Patterns (Second Preview)
  • JEP 433: Pattern Matching for switch (Fourth Preview)
  • JEP 434: Foreign Function & Memory API (Second Preview)
  • JEP 436: Virtual Threads (Second Preview)
  • JEP 437: Structured Concurrency (Second Incubator)
  • JEP 438: Vector API (Fifth Incubator)
· 2024/01/27 15:08
제공 지원종료 (확장)
Oracle 2023. 09
OpenJDK 2022. 09
Eclipse Temurin 2023. 03
Azul 2023. 09
Amazon Corretto 2023. 04
  • JEP 405: Record Patterns (Preview)
  • JEP 422: Linux/RISC-V Port
  • JEP 424: Foreign Function & Memory API (Preview)
  • JEP 425: Virtual Threads (Preview)
  • JEP 426: Vector API (Fourth Incubator)
  • JEP 427: Pattern Matching for switch (Third Preview)
  • JEP 428: Structured Concurrency (Incubator)

JEP 405

· 2024/01/27 15:06
제공 지원종료 (확장)
Oracle 2022. 09
OpenJDK 2022. 09
Eclipse Temurin 2022. 09
Azul 2022. 09
Amazon Corretto 2022. 10
  • JEP 400: UTF-8이 기본
  • JEP 408: Simple Web Server
  • JEP 413: Code Snippets in Java API Documentation
  • JEP 416: Reimplement Core Reflection with Method Handles
  • JEP 417: Vector API (Third Incubator)
  • JEP 418: Internet-Address Resolution SPI
  • JEP 419: Foreign Function & Memory API (Second Incubator)
  • JEP 420: switch 패턴 매칭 (Second Preview)
  • JEP 421: Finalization deprecated
· 2024/01/27 15:04
제공 지원종료 (확장)
Oracle 2026. 09 (2029. 09)
OpenJDK SAP 유지보수중
Eclipse Temurin 2027. 10
Azul 2029. 09
Amazon Corretto 2029. 10
Red Hat 2027. 10
IBM Semeru 2027. 10
Microsoft 2027. 09
  • JEP 306: Restore Always-Strict Floating-Point Semantics
  • JEP 356: Enhanced Pseudo-Random Number Generators
  • JEP 382: New macOS Rendering Pipeline
  • JEP 391: macOS/AArch64 Port
  • JEP 398: Applet API deprecated
  • JEP 403: Strongly Encapsulate JDK Internals
  • JEP 406: switch 패턴 매칭 (Preview)
  • JEP 407: RMI Activation 제거
  • JEP 409: 봉인된 클래스(sealed)
  • JEP 410: AOT and JIT Compiler
  • JEP 411: Deprecate the Security Manager for Removal
  • JEP 412: Foreign Function & Memory API (Incubator)
  • JEP 414: Vector API (Second Incubator)
  • JEP 415: Context-Specific Deserialization Filters

JEP 406

· 2024/01/27 14:58
제공 지원종료 (확장)
Oracle 2021. 09
Azul 2021. 09
Amazon Corretto 2021. 10
  • JEP 338: 벡터 API (Incubator)
  • JEP 347: C++14 언어 기능 활성화
  • JEP 357: Mercurial에서 Git로 마이그레이션
  • JEP 369: GitHub로 마이그레이션
  • JEP 376: ZGC: Concurrent Thread-Stack Processing
  • JEP 380: Unix-Domain Socket Channels
  • JEP 386: Alpine Linux Port – not yet stable
  • JEP 387: Elastic Metaspace
  • JEP 388: Windows/AArch64 Port
  • JEP 389: Foreign Linker API (Incubator)
  • JEP 390: Warnings for Value-Based Classes
  • JEP 392: 패키징 툴
  • JEP 393: Foreign-Memory Access API (Third Incubator)
  • JEP 394: instanceof 패턴 매칭
  • JEP 395: Records (record - cf. Tuple)
  • JEP 396: Strongly Encapsulate JDK Internals by Default
  • JEP 397: Sealed Classes (Second Preview)
· 2024/01/27 14:49
제공 지원종료 (확장)
Oracle 2021. 03
Azul 2023. 03
Amazon Corretto 2021. 04
  • JEP 339: Edwards-Curve Digital Signature Algorithm (EdDSA)
  • JEP 360: 봉인된 클래스 (Preview)
  • JEP 371: 히든 클래스
  • JEP 372: Nashorn JavaScript Engine
  • JEP 373: Reimplement the Legacy DatagramSocket API
  • JEP 374: Disable and Deprecate Biased Locking
  • JEP 375: Pattern Matching for instanceof (Second Preview)
  • JEP 377: ZGC: A Scalable Low-Latency Garbage Collector
  • JEP 378: Text Blocks( “”“statements”“” )
  • JEP 379: Shenandoah: A Low-Pause-Time Garbage Collector
  • JEP 381: Remove the Solaris and SPARC Ports
  • JEP 383: Foreign-Memory Access API (Second Incubator)
  • JEP 384: Records (Second Preview)
  • JEP 385: RMI Activation deprecated

JEP 360

· 2024/01/27 14:41
제공 지원종료 (확장)
Oracle 2020. 09
Azul 2020. 09
  • JEP 305: instnaceof를 위한 패턴 매칭 (Preview)
  • JEP 343: Packaging Tool (Incubator)
  • JEP 345: NUMA-Aware Memory Allocation for G1
  • JEP 349: JFR Event Streaming
  • JEP 352: Non-Volatile Mapped Byte Buffers
  • JEP 358: Helpful NullPointerExceptions
  • JEP 359: Records (Preview)
  • JEP 361: switch 표현 (Standard)
  • JEP 362: Solaris and SPARC Ports deprecated
  • JEP 363: Concurrent Mark Sweep (CMS) Garbage Collector
  • JEP 364: ZGC on macOS
  • JEP 365: ZGC on Windows
  • JEP 366: ParallelScavenge + SerialOld GC Combination deprecated
  • JEP 367: Pack200 Tools and API
  • JEP 368: Text Blocks (Second Preview)
  • JEP 370: Foreign-Memory Access API (Incubator)

JEP 305

JEP 359

· 2024/01/26 04:16
제공 지원종료 (확장)
Oracle 2020. 03
Azul 2023. 03
  • JEP 350: Dynamic CDS Archives
  • JEP 351: ZGC: Uncommit Unused Memory
  • JEP 353: Reimplement the Legacy Socket API
  • JEP 354: switch 표현 (Preview)
  • JEP 355: 텍스트 블럭 (Preview)

JEP 355

· 2024/01/26 04:04
제공 지원종료 (확장)
Oracle 2019. 09
Azul 2019. 09
  • JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
  • JEP 230: Microbenchmark Suite
  • JEP 325: switch 표현 (Preview)
  • JEP 334: JVM Constants API
  • JEP 340: One AArch64 Port, Not Two
  • JEP 341: Default CDS Archives
  • JEP 344: Abortable Mixed Collections for G1
  • JEP 346: Promptly Return Unused Committed Memory from G1

JEP 325

· 2024/01/26 03:54
제공 지원종료 (확장)
Oracle 2023. 09 (2032. 01)
OpenJDK Red Hat 유지보수중
Eclipse Temurin 2027. 10
Azul 2032. 01
Amazon Corretto 2027. 10
Red Hat 2024. 10
IBM Semeru 2024. 10
Microsoft 2024. 10
  • JEP 181: Nest-Based Access Control
  • JEP 309: Dynamic Class-File Constants
  • JEP 315: Improve Aarch64 Intrinsics
  • JEP 318: Epsilon: A No-Op Garbage Collector
  • JEP 320: Remove the Java EE and CORBA Modules
  • JEP 321: HTTP Client (Standard)
  • JEP 323: Local-Variable Syntax for Lambda Parameters
  • JEP 324: Key Agreement with Curve25519 and Curve448
  • JEP 327: Unicode 10
  • JEP 328: Flight Recorder
  • JEP 329: ChaCha20 and Poly1305 Cryptographic Algorithms
  • JEP 330: Launch Single-File Source-Code Programs
  • JEP 331: Low-Overhead Heap Profiling
  • JEP 332: Transport Layer Security (TLS) 1.3
  • JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
  • JEP 335: Deprecate the Nashorn JavaScript Engine
  • JEP 336: Deprecate the Pack200 Tools and API

A number of features from previous releases were dropped; in particular, Java applets and Java Web Start are no longer available. JavaFX, Java EE and CORBA modules have been removed from JDK.

· 2024/01/25 14:13
제공 지원종료 (확장)
Oracle 2018. 09
OpenJDK 2018. 09
Azul 2018. 09
  • JEP 286: 지역 변수 타입 추론 (var)
  • JEP 296: JDK Forest를 단일 저장소로 통합
  • JEP 304: Garbage-Collector 인터페이스
  • JEP 307: Parallel Full GC for G1
  • JEP 310: Application Class-Data Sharing
  • JEP 312: Thread-Local Handshakes
  • JEP 313: Native-Header Generation Tool(javah) 제거
  • JEP 314: Additional Unicode Language-Tag Extensions
  • JEP 316: 다른 메모리 장치에서의 힙 할당
  • JEP 317: 실험적인 Java-Based JIT 컴파일러
  • JEP 319: 루트 인증서
  • JEP 322: Time-Based Release Versioning

[[JEP 286]] 지역변수 타입 추론

· 2024/01/25 14:05
제공 지원종료 (확장)
Oracle 2018. 03
OpenJDK 2018. 03
Azul 2018. 03
  • JSR 376: Project Jigsaw의 JDK 모듈화(Java Platform Module System)
  • JavaDB
  • JEP 193: Variable handles, define a standard means to invoke the equivalents of various java.util.concurrent.atomic and sun.misc.Unsafe operations
  • JEP 213: Milling Project Coin, private 인스턴스 메소드에서 @SafeVarargs 어노테이션 허용; the try-with-resources 구문에서 효과적인 final 변수 사용 허용; 유추된 유형의 인수가 추론가능한 경우 익명 클래스에서 다이아몬드(<>) 허용; Complete the removal, begun in Java SE 8, of underscore from the set of legal identifier names; 인터페이스에서 private 메소드 지원
  • JEP 222: jshell: The Java Shell (Read-Eval-Print Loop): JShell은 자바 언어를 위한 REPL 명령줄 인터페이스입니다.
  • JEP 254: Compact Strings
  • JEP 263: HiDPI graphics: automatic scaling and sizing
  • JEP 266: Reactive Streams의 자바 구현을 포함하고, Reactive Streams에서 이전에 제공된 인터페이슬 포함하는 새로운 Flow 클래스를 포함하는 더 많은 동시성 업데이트.
  • JEP 268: XML catalogs
  • JEP 282: jlink: The Java Linker, create a tool that can assemble and optimize a set of modules and their dependencies into a custom run-time image. It effectively allows to produce a fully usable executable including the JVM to run it
  • JEP 295: Ahead-of-Time Compilation, ahead-of-time compilation provided by GraalVM
· 2024/01/25 13:28
제공 지원종료 (확장)
Oracle 2022. 03 (2030. 12)
OpenJDK Red Hat 유지보수중
Oracle (비상업용) 2030. 12
Eclipse Temurin 2026. 11
Oracle (상업용) 2022. 3
Azul 2030. 12
Amazon Corretto 2026. 7
Red Hat 2026. 11
IBM Semeru 2026. 5
  • JSR 335, JEP 126: Project Lambda 에서 람다 표현식(lambda espressions, 클로저 clusures) 및 기존 구현을 해치지 않고 인터페이스에 메소드를 추가할 수 있는 default 메서드(가상 확장 메서드)를 언어 수준에서 지원.
  • JEP 174: Project Nashorn, a JavaScript runtime which can run JavaScript code embedded within applications
  • JEP 104: 자바 타입에 대한 어노테이션
  • 부호 없는 정수 연산
  • JEP 120: 반복적인 어노테이션
  • JEP 150: Date and time API
  • JEP 178: 정적으로 연결된 JNI 라이브러리
  • JEP 153: Launch JavaFX applications (direct launching of JavaFX application JARs)
  • JEP 122: Remove the permanent generation
· 2024/01/25 00:58
제공 지원종료 (확장)
OpenJDK 2022. 09
Azul 2022. 9 (2027. 11)
Oracle 2020. 8
Oracle 2015. 5
Redhat 2020. 6
  • JVM support for dynamic languages, with the new invokedynamic bytecode under JSR-292, following the prototyping work currently done on the Multi Language Virtual Machine
  • 압축된 64-bit 포인터 (available in Java 6 with -XX:+UseCompressedOops)
  • These small language changes (grouped under a project named Coin):
    • switch에서 String 사용 가능
    • try 구분에서 자동 자원 관리(try-with-resources 구문)
    • 다이아몬드 연산자 <> - 제너릭 인스턴스 생성을 위한 향상된 타입 추론
    • 가변인수 메서드 정의의 단순화(varargs)
    • Binary integer literals
    • Allowing underscores in numeric literals
  • Catching multiple exception types and rethrowing exceptions with improved type checking
  • 동시성 유틸리티 JSR 166
  • New file I/O library (defined by JSR 203) adding support for multiple file systems, file metadata and symbolic links. The new packages are java.nio.file, java.nio.file.attribute and java.nio.file.spi
  • Timsort is used to sort collections and arrays of objects instead of merge sort
  • Library-level support for elliptic curve cryptography algorithms
  • An XRender pipeline for Java 2D, which improves handling of features specific to modern GPUs
  • New platform APIs for the graphics features originally implemented in version 6u10 as unsupported APIs
  • Enhanced library-level support for new network protocols, including SCTP and Sockets Direct Protocol
  • Upstream updates to XML and Unicode
  • Java deployment rule sets
· 2024/01/25 03:54
제공 지원종료 (확장)
OpenJDK 2013. 04
Azul 2018. 11 (2027. 11)
Redhat 2016. 11
  • Support for older Win9x versions dropped; unofficially, Java 6 Update 7 was the last release of Java shown to work on these versions of Windows. This is believed to be due to the major changes in Update 10.
  • Scripting Language Support (JSR 223): Generic API for tight integration with scripting languages, and built-in Mozilla JavaScript Rhino integration.
  • Dramatic performance improvements for the core platform, and Swing.
  • Improved Web Service support through JAX-WS (JSR 224).
  • JDBC 4.0 지원 (JSR 221).
  • Java Compiler API (JSR 199): an API allowing a Java program to select and invoke a Java Compiler programmatically.
  • Upgrade of JAXB to version 2.0: Including integration of a StAX parser.
  • Support for pluggable annotations (JSR 269).
  • Many GUI improvements, such as integration of SwingWorker in the API, table sorting and filtering, and true Swing double-buffering (eliminating the gray-area effect).
  • JVM improvements include: synchronization and compiler performance optimizations, new algorithms and upgrades to existing garbage collection algorithms, and application start-up performance.
· 2024/01/28 11:52
  • 제너릭 Generics: provides compile-time (static) type safety for collections and eliminates the need for most typecasts (type conversion) (specified by JSR 14)
  • 메타데이터 Metadata 어노테이션 Annotation @: allows language constructs such as classes and methods to be tagged with additional data, which can then be processed by metadata-aware utilities (specified by JSR 175)
  • 오토박싱/언박싱 Autoboxing/unboxing (Wrapping): automatic conversions between primitive types (such as int) and primitive wrapper classes (such as Integer) (specified by JSR 201)
  • 열거형 Enumerations enum : the enum keyword creates a typesafe, ordered list of values (such as Day.MONDAY, Day.TUESDAY, etc.); previously this could only be achieved by non-typesafe constant integers or manually constructed classes (typesafe enum pattern) (specified by JSR 201)
  • 가변인수 Varargs: the last parameter of a method can now be declared using a type name followed by three dots (e.g. void drawtext(String… lines)); in the calling code any number of parameters of that type can be used and they are then placed in an array to be passed to the method, or alternatively the calling code can pass an array of that type
  • 향상된 for each 루프: the for loop syntax is extended with special syntax for iterating over each member of either an array or any Iterable, such as the standard Collection classes (specified by JSR 201)
  • Improved semantics of execution for multi-threaded Java programs; the new Java memory model addresses issues of complexity, effectiveness, and performance of previous specifications
  • 정적 임포트 Static imports

standard libraries 변경점:

  • Automatic stub generation for RMI objects
  • Swing: New skinnable look and feel, called synth
  • 동시성 유틸(java.util.concurrent)
  • Scanner class for parsing data from various input streams and buffers
· 2024/01/28 11:21

JSR 59

  • assert 키워드 (specified in JSR 41)
  • Regular expressions modeled after Perl regular expressions
  • Exception chaining allows an exception to encapsulate original lower-level exception
  • Internet Protocol version 6 (IPv6) support
  • Non-blocking I/O (named NIO) (specified in JSR 51)
  • Logging API (specified in JSR 47)
  • Image I/O API for reading and writing images in formats like JPEG and PNG
  • Integrated XML parser and XSLT processor (JAXP) (specified in JSR 5 and JSR 63)
  • Integrated security and cryptography extensions (JCE, JSSE, JAAS)
  • Java Web Start included (Java Web Start was first released in March 2001 for J2SE 1.3) (specified in JSR 56)
  • Preferences API (java.util.prefs)
· 2024/01/28 11:37
  • HotSpot JVM included (the HotSpot JVM was first released in April 1999 for the J2SE 1.2 JVM)
  • RMI was modified to support optional compatibility with CORBA
  • Java Naming and Directory Interface (JNDI) included in core libraries (previously available as an extension)
  • Java Platform Debugger Architecture (JPDA)
  • JavaSound
  • Synthetic proxy classes
· 2024/01/28 11:41
  • strictfp keyword (by JVM 17 an obsolete keyword, should not be used in new code)
  • the Swing graphical API was integrated into the core classes
  • Sun's JVM was equipped with a JIT compiler for the first time
  • Java plug-in
  • Java IDL, an IDL implementation for CORBA interoperability
  • Collections framework
· 2024/01/28 11:44
  • an extensive retooling of the AWT event model
  • 언어에 내부 클래스 추가
  • JavaBeans
  • JDBC
  • RMI and 직렬화
  • reflection which supported Introspection only, no modification at runtime was possible. (The ability to modify objects reflectively was added in J2SE 1.2, by introducing the AccessibleObject class and its subclasses such as the Field class.)
  • JIT (Just In Time) compiler on Microsoft Windows platforms, produced for JavaSoft by Symantec
  • Internationalization and Unicode support originating from Taligent
· 2024/01/28 11:47
  • java/version.txt
  • 마지막으로 수정됨: 2024/01/28 13:48
  • 저자 writer