- JEP 193: Var Handles
- JEP 222: JShell: The Java Shell (Read-Eval-Print Loop)
- JEP 248: Make G1 the Default Garbage Collector
- JEP 259: Stack-Walking API
- JEP 269: Convenience Factory Methods for Collections
- JEP 223: New Version-String Scheme
- JEP 200: The Modular JDK
- JEP 201: Modular Source Code
- JEP 220: Modular Run-Time Images
- JEP 260: Encapsulate Most Internal APIs
- JEP 261: Module System
- JEP 275: Modular Java Application Packaging
- JEP 282: jlink: The Java Linker
- Other Enhancements
- Removed tools.jar
- Attach API, Compiler API, JavaDoc API, etc
- Removed Java DB (Aparch Derby)
- Removed endorsed and extension directory
- $JAVA_HOME/lib/endorsed
- $JAVA_HOME/jre/lib/ext
- Class Loading implementation changed to support module
- JEP 286: Local-Variable Type Inference
- JEP 307: Parallel Full GC for G1
- JEP 310: Application Class-Data Sharing
- Other Enhancements
- Docker Awareness (on by default)
- Improved Docker Container Integration with Java 10
- -XX:-UseContainerSupport
VMで自動コンテナ検出サポートが提供されるようになり、これによって、Dockerコンテナ内で実行されるJavaプロセスで使用可能なメモリーの容量およびプロセッサの数をVMで決定できるようになりました。この情報はシステム・リソースを割り当てるために使用されます。このサポートはLinux x64プラットフォームでのみ使用できます。サポートされている場合、このフラグのデフォルトはtrueで、コンテナのサポートはデフォルトで有効になります。これは、-XX:-UseContainerSupportを使用して無効にできます。
- GraalVM as experimental in this time
- JEP 181: Nest-Based Access Control
- JEP 321: HTTP Client
- JEP 328: Flight Recorder
- JEP 320: Remove the Java EE and CORBA Modules
- JEP 335: Deprecate the Nashorn JavaScript Engine
- JEP 330: Launch Single-File Source-Code Programs
- JEP 331: Low-Overhead Heap Profiling
- JEP 332: Transport Layer Security (TLS) 1.3
- JEP 318: Epsilon: A No-Op Garbage Collector
- JEP 333: ZGC: A Scalable Low-Latency Garbage Collector(Experimental)
- JEP 230: Microbenchmark Suite
- 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 349: JFR Event Streaming
- JEP 358: Helpful NullPointerExceptions
- JEP 361: Switch Expressions
- JEP 363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector
- JPE 345: NUMA-Aware Memory Allocation for G1
- JPE 352: Non-Volatile Mapped Byte Buffers
- JPE 362: Deprecate the Solaris and SPARC Ports
- JPE 364: ZGC on macOS
- JPE 365: ZGC on Windows
- JPE 366: Deprecate the ParallelScavenge + SerialOld GC Combination
- JPE 367: Remove the Pack200 Tools and API
- JEP 371: Hidden Classes
- JEP 372: Remove the Nashorn JavaScript Engine
- JEP 373: Reimplement the Legacy DatagramSocket API
- JEP 374: Deprecate and Disable Biased Locking
- JEP 378: Text Blocks
- JEP 377: ZGC: A Scalable Low-Latency Garbage Collector (Production)
- JEP 379: Shenandoah: A Low-Pause-Time Garbage Collector (Production)
- JEP 339: Edwards-Curve Digital Signature Algorithm (EdDSA)
- JEP 377: ZGC: A Scalable Low-Latency Garbage Collector
- JEP 381: Remove the Solaris and SPARC Ports
- JEP 385: Deprecate RMI Activation for Removal
- JEP 347: Enable C++14 Language Features
- JEP 357: Migrate from Mercurial to Git
- JEP 369: Migrate to GitHub
- JEP 376: ZGC: Concurrent Thread-Stack Processing (ZGC Improvement)
- JEP 380: Unix-Domain Socket Channels
- JEP 387: Elastic Metaspace
- JEP 392: Packaging Tool
- JEP 395: Records
- JEP 396: Strongly Encapsulate JDK Internals by Default
- JEP 386: Alpine Linux Port
- JEP 388: Windows/AArch64 Port
- JEP 390: Warnings for Value-Based Classes
- JEP 394: Pattern Matching for instanceof
- JEP 356: Enhanced Pseudo-Random Number Generators
- JEP 398: Deprecate the Applet API for Removal
- JEP 409: Sealed Classes
- JEP 410: Remove the Experimental AOT and JIT Compiler h
- JEP 411: Deprecate the Security Manager for Removal
- JEP 306: Restore Always-Strict Floating-Point Semantics
- JEP 382: New macOS Rendering Pipeline
- JEP 391: macOS/AArch64 Port
- JEP 403: Strongly Encapsulate JDK Internals
- JEP 407: Remove RMI Activation
- JEP 415: Context-Specific Deserialization Filters
-
JDKの大幅な変更 (Significant Changes in the JDK)
-
セキュリティ更新プログラム (Security Updates)
-
削除された API (Removed APIs)
-
削除されたツールとコンポーネント (Removed Tools and Components)
-
Migrating From JDK 8 to Later JDK Releases