SlideShare a Scribd company logo
JDK 12
ilya.lapitan@gmail.com
JEPs
*JEP - JDK Enhancement Proposal
NEW
230: Microbenchmark Suite
Summary:
Add a basic suite of microbenchmarks to the JDK source code, and make it easy for
developers to run existing microbenchmarks and create new ones.
Based on Java Microbenchmark Harness (JMH 1.12+) .
334: JVM Constants API
Summary:
Introduce an API to model nominal descriptions of key class-file and run-time
artifacts, in particular constants that are loadable from the constant pool.
Bytecode manipulation libraries and tools have a single, standard way to describe
loadable constants now.
This JEP is related to JEP 303 (Intrinsics for the LDC and INVOKEDYNAMIC
Instructions).
IMPROVEMENTS
325: Switch Expressions
Summary:
Extend the switch statement so that it can be used as either a statement or an
expression, and that both forms can use either a "traditional" or "simplified" scoping
and control flow behavior.
These changes will simplify everyday coding, and also prepare the way for the use of
pattern matching (JEP 305) in switch.
341: Default CDS Archives
Summary:
Enhance the JDK build process to generate a class data-sharing (CDS) archive, using
the default class list, on 64-bit platforms.
Improve out-of-the-box startup time, eliminate the need for users to run -Xshare:dump
to benefit from CDS.
JVM
344: Abortable Mixed Collections for G1
Summary:
Make G1 mixed collections abortable if they might exceed the pause target.
If G1 discovers that the collection set selection heuristics repeatedly select the wrong
number of regions, switch to a more incremental way of doing mixed collections: split
the collection set into two parts, a mandatory and an optional part. After G1 finishes
collecting the mandatory part, G1 starts collecting the optional part at a much more
granular level, if there is time left.
346: Promptly Return Unused Committed Memory from G1
Summary:
Enhance the G1 garbage collector to automatically return Java heap memory to the
operating system when idle.
Currently the G1 garbage collector may not return committed Java heap memory to
the operating system in a timely manner. This behavior is particularly disadvantageous
in container environments where resources are paid by use. If the VM were able to
detect phases of Java heap under-utilization ("idle" phases), and automatically reduce
its heap usage during that time, both would benefit.
EXPERIMENTAL
189: Shenandoah: A Low-Pause-Time Garbage Collector
Summary:
Add a new garbage collection (GC) algorithm named Shenandoah which reduces GC
pause times by doing evacuation work concurrently with the running Java threads.
Pause times with Shenandoah are independent of heap size, meaning you will have the
same consistent pause times whether your heap is 200 MB or 200 GB.
DEPRECATED/REMOVED
340: One AArch64 Port, Not Two
Summary:
Remove all of the sources related to the arm64 port while retaining the 32-bit ARM
port and the 64-bit aarch64 port.
More:
JDK 12
http://openjdk.java.net/projects/jdk/12/

More Related Content

PDF
JDK 11
PDF
Running Legacy Applications with Containers
PDF
What's New in WildFly 9?
PDF
[2018.10.19] 김용기 부장 - IAC on OpenStack (feat. ansible)
PPTX
Distributed Tests on Pulsar with Fallout - Pulsar Summit NA 2021
PDF
CoAP in Reactive Blocks
PDF
iptables and Kubernetes
PDF
[네이버오픈소스세미나] What’s new in Zipkin - Adrian Cole
JDK 11
Running Legacy Applications with Containers
What's New in WildFly 9?
[2018.10.19] 김용기 부장 - IAC on OpenStack (feat. ansible)
Distributed Tests on Pulsar with Fallout - Pulsar Summit NA 2021
CoAP in Reactive Blocks
iptables and Kubernetes
[네이버오픈소스세미나] What’s new in Zipkin - Adrian Cole

What's hot (19)

PDF
OSDC 2018 | Hardware-level data-center monitoring with Prometheus by Conrad H...
PDF
Elk for applications on k8s
PDF
Apache Gobblin: Bridging Batch and Streaming Data Integration. Big Data Meetu...
PDF
Flink Forward Berlin 2017: Patrick Lucas - Flink in Containerland
PDF
Introduction of eBPF - 時下最夯的Linux Technology
PDF
Orchestrating Redis & K8s Operators
PPTX
Deep-dive into cloud-native AEM deployments based on Kubernetes
PDF
Design Patterns para Microsserviços com MicroProfile
PPTX
Monitoring kubernetes with prometheus-operator
PDF
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
PPTX
Apache Bookkeeper and Apache Zookeeper for Apache Pulsar
PDF
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
PDF
MuleSoft Manchester Meetup #3 slides 31st March 2020
PDF
Java and Containers: What's there to think about? | DevNation Tech Talk
PDF
Releasing a Distribution in the Age of DevOps.
PDF
TorqueBox at GNUnify 2012
PPTX
Building a Replicated Logging System with Apache Kafka
PDF
End-to-End Reactive Data Access Using R2DBC with RSocket and Proteus
PDF
KFServing and Kubeflow Pipelines
OSDC 2018 | Hardware-level data-center monitoring with Prometheus by Conrad H...
Elk for applications on k8s
Apache Gobblin: Bridging Batch and Streaming Data Integration. Big Data Meetu...
Flink Forward Berlin 2017: Patrick Lucas - Flink in Containerland
Introduction of eBPF - 時下最夯的Linux Technology
Orchestrating Redis & K8s Operators
Deep-dive into cloud-native AEM deployments based on Kubernetes
Design Patterns para Microsserviços com MicroProfile
Monitoring kubernetes with prometheus-operator
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
Apache Bookkeeper and Apache Zookeeper for Apache Pulsar
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
MuleSoft Manchester Meetup #3 slides 31st March 2020
Java and Containers: What's there to think about? | DevNation Tech Talk
Releasing a Distribution in the Age of DevOps.
TorqueBox at GNUnify 2012
Building a Replicated Logging System with Apache Kafka
End-to-End Reactive Data Access Using R2DBC with RSocket and Proteus
KFServing and Kubeflow Pipelines
Ad

Similar to JDK 12 (20)

PPTX
Java10 new features 2018
PDF
TWJUG x Oracle Groundbreakers 2019 Taiwan - What’s New in Last Java Versions
PDF
Java 24 - The Key Updates You Need to Know.pdf
PDF
Java 40 versions_sgp
PPTX
Java dev mar_2021_keynote
PDF
The features of java 11 vs. java 12
PDF
De Java 8 a Java 17
PDF
Illia shestakov - The Future of Java JDK #9
PDF
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
PPTX
The latest features coming to Java 12
PDF
GBDC 勉強会 #6 Java イベントレポート 2016
PDF
Preparing your code for Java 9
PDF
JDK9 Features (Summary, 31/Jul/2015) #JJUG
PDF
JDK 9 Java Platform Module System
PPTX
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
PDF
De Java 8 ate Java 14
PDF
Whats new in Java 9,10,11,12
PDF
Choosing Right Garbage Collector to Increase Efficiency of Java Memory Usage
PPTX
New thing in JDK10 even that scala-er should know
PPTX
Java On Speed
Java10 new features 2018
TWJUG x Oracle Groundbreakers 2019 Taiwan - What’s New in Last Java Versions
Java 24 - The Key Updates You Need to Know.pdf
Java 40 versions_sgp
Java dev mar_2021_keynote
The features of java 11 vs. java 12
De Java 8 a Java 17
Illia shestakov - The Future of Java JDK #9
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
The latest features coming to Java 12
GBDC 勉強会 #6 Java イベントレポート 2016
Preparing your code for Java 9
JDK9 Features (Summary, 31/Jul/2015) #JJUG
JDK 9 Java Platform Module System
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
De Java 8 ate Java 14
Whats new in Java 9,10,11,12
Choosing Right Garbage Collector to Increase Efficiency of Java Memory Usage
New thing in JDK10 even that scala-er should know
Java On Speed
Ad

More from Ilya Lapitan (13)

PDF
Learn Java with Coursera
PDF
Apache Camel Lifecycle
PDF
Apache Camel + Apache ActiveMQ persistence
PDF
Maven lifecycle
PDF
Date & Time in Java SE 8
PDF
Amazon S3
PDF
Bash scripting
PDF
Linux commands
PDF
Google советы успешного поиска
PDF
Архивы в Java
PDF
Стратегии выполнения тестов в Gradle
PDF
Apache2
PDF
Gradle
Learn Java with Coursera
Apache Camel Lifecycle
Apache Camel + Apache ActiveMQ persistence
Maven lifecycle
Date & Time in Java SE 8
Amazon S3
Bash scripting
Linux commands
Google советы успешного поиска
Архивы в Java
Стратегии выполнения тестов в Gradle
Apache2
Gradle

Recently uploaded (20)

PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Machine Learning_overview_presentation.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
Tartificialntelligence_presentation.pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Big Data Technologies - Introduction.pptx
PPT
Teaching material agriculture food technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
A comparative analysis of optical character recognition models for extracting...
Network Security Unit 5.pdf for BCA BBA.
Machine Learning_overview_presentation.pptx
Spectroscopy.pptx food analysis technology
Unlocking AI with Model Context Protocol (MCP)
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
SOPHOS-XG Firewall Administrator PPT.pptx
Tartificialntelligence_presentation.pptx
Group 1 Presentation -Planning and Decision Making .pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Dropbox Q2 2025 Financial Results & Investor Presentation
Big Data Technologies - Introduction.pptx
Teaching material agriculture food technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Reach Out and Touch Someone: Haptics and Empathic Computing
Assigned Numbers - 2025 - Bluetooth® Document
Diabetes mellitus diagnosis method based random forest with bat algorithm
MIND Revenue Release Quarter 2 2025 Press Release
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton

JDK 12

  • 2. JEPs *JEP - JDK Enhancement Proposal
  • 3. NEW
  • 4. 230: Microbenchmark Suite Summary: Add a basic suite of microbenchmarks to the JDK source code, and make it easy for developers to run existing microbenchmarks and create new ones. Based on Java Microbenchmark Harness (JMH 1.12+) .
  • 5. 334: JVM Constants API Summary: Introduce an API to model nominal descriptions of key class-file and run-time artifacts, in particular constants that are loadable from the constant pool. Bytecode manipulation libraries and tools have a single, standard way to describe loadable constants now. This JEP is related to JEP 303 (Intrinsics for the LDC and INVOKEDYNAMIC Instructions).
  • 7. 325: Switch Expressions Summary: Extend the switch statement so that it can be used as either a statement or an expression, and that both forms can use either a "traditional" or "simplified" scoping and control flow behavior. These changes will simplify everyday coding, and also prepare the way for the use of pattern matching (JEP 305) in switch.
  • 8. 341: Default CDS Archives Summary: Enhance the JDK build process to generate a class data-sharing (CDS) archive, using the default class list, on 64-bit platforms. Improve out-of-the-box startup time, eliminate the need for users to run -Xshare:dump to benefit from CDS.
  • 9. JVM
  • 10. 344: Abortable Mixed Collections for G1 Summary: Make G1 mixed collections abortable if they might exceed the pause target. If G1 discovers that the collection set selection heuristics repeatedly select the wrong number of regions, switch to a more incremental way of doing mixed collections: split the collection set into two parts, a mandatory and an optional part. After G1 finishes collecting the mandatory part, G1 starts collecting the optional part at a much more granular level, if there is time left.
  • 11. 346: Promptly Return Unused Committed Memory from G1 Summary: Enhance the G1 garbage collector to automatically return Java heap memory to the operating system when idle. Currently the G1 garbage collector may not return committed Java heap memory to the operating system in a timely manner. This behavior is particularly disadvantageous in container environments where resources are paid by use. If the VM were able to detect phases of Java heap under-utilization ("idle" phases), and automatically reduce its heap usage during that time, both would benefit.
  • 13. 189: Shenandoah: A Low-Pause-Time Garbage Collector Summary: Add a new garbage collection (GC) algorithm named Shenandoah which reduces GC pause times by doing evacuation work concurrently with the running Java threads. Pause times with Shenandoah are independent of heap size, meaning you will have the same consistent pause times whether your heap is 200 MB or 200 GB.
  • 15. 340: One AArch64 Port, Not Two Summary: Remove all of the sources related to the arm64 port while retaining the 32-bit ARM port and the 64-bit aarch64 port.