SlideShare a Scribd company logo
JAVA 10
Submitted to :
Prof. Jyoti Lakhani
MGSU, Bikaner
Arjun Bhati
Semester 4th
Java 10
– JEP (Java Developments kit (JDK) Enhancement Proposal)
– Oracle Corporation
– Java Development Kit and OpenJDk
10 new features of Java 10 !
286: Local-Variable Type Inference
296: Consolidate the JDK Forest into a Single Repository
304: Garbage-Collector Interface
307: Parallel Full GC for G1
310: Application Class-Data Sharing
312: Thread-Local Handshakes
313: Remove the Native-Header Generation Tool (javah)
314: Additional Unicode Language-Tag Extensions
316: Heap Allocation on Alternative Memory Devices
317: Experimental Java-Based JIT Compiler
319: Root Certificates
322: Time-Based Release Versioning
JEP no.
286: Local-Variable Type Inference
– This is most interesting futures
– improve the developer experience by reducing the ceremony associated with
writing Java code,
– Many of the most popular strongly-type programming languages like C++, C#.
– C++ provides the auto and C# provides var keyword.
– Since the var keyword is context-sensitive,
304: Garbage-Collector Interface
– The GC interface would be defined by the existing class CollectedHeap which
every garbage collector needs to implement.
– The code for implementation details that are shared between multiple garbage
collectors should exist in a helper class.
– HOTSHOP – Mobile Hotshop.There a few utility classes needed prior to a CollectedHeap being
instantiated
307: Parallel Full GC for G1
– The G1 garbage collector is designed to avoid full collections
– The current implementation of the full GC for G1 uses a single threaded mark-
sweep-compact algorithm
– Use the same number of threads as the Young and Mixed collections do.
G 1 garbage collector Garbage collector
310: Application Class-Data Sharing
– Class-Data Sharing, introduced in JDK 5, allows a set of classes to be pre-
processed into a shared archive file that can then be memory-mapped at
runtime to reduce startup time
– Analysis of serverless cloud services shows that many of them load several
thousand application classes at start-up.
– Summary
To improve startup and footprint, extend the existing Class-Data Sharing
("CDS") feature to allow application classes to be placed in the shared archive.
313: Remove the Native-Header Generation Tool
(javah)
– This functionality provides the ability to write native header files at the time
that Java source code is compiled
– Focusing on the support provided by javac eliminates the need to upgrade javah
to support recent new paradigms, such as API access via the Compiler API in
javax.tools.*
– Remove the javah tool from the JDK.
– Any testing will be limited to verifying the javah command is not present.
– java.util.spi.ToolProvider SPI added in JDK 9.
314: Additional Unicode Language-Tag Extensions
– This JEP will add support for the following additional extensions:
– cu (currency type) fw (first day of week) rg (region override) tz (time zone)
– Enhance java.util.Locale and related APIs to implement additional Unicode
extensions of BCP 47 language tags.
317: Experimental Java-Based JIT Compiler
– Enable Graal to be used as an experimental JIT compiler, starting with
the Linux/x64 platform. Graal will use the JVM compiler interface
(JVMCI) introduced in JDK 9. Graal is already in the JDK, so enabling it
as an experimental JIT will primarily be a testing and debugging effort.
– To enable Graal as the JIT compiler, use the following options on the
java command line:
– Graal is an Oracle project aiming to implement a high performance
Java dynamic compiler and interpreter. The objective of Graal is to
improve the performance of Java virtual machine-based languages to
match the performance of native languages.
Graal is just a Java library. JVMCI provides interfaces that Graal can use to
do lower-level things such as installing machine code,
322: Time-Based Release Versioning
– An element is either zero, or an unsigned integer numeral without leading
zeros.
– final element of a version number must not be zero. When an element is
incremented, all subsequent elements are removed.
– first four elements are assigned specific meanings, as follows:
– 1. $FEATURE 2. $INTERIM 3. $UPDATE 4. $PATCH
[1-9][0-9]*((.0)*.[1-9][0-9]*)*
– The March 2018 release is #JDK10,
– The September 2018 release is #JDK11
– http://openjdk.java.net
– https://aboullaite.me
– https://twitter.com/java/status
– http://www.oracle.com
Java10 new features 2018

More Related Content

PDF
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
PDF
OpenShift Meetup - Tokyo - Service Mesh and Serverless Overview
PDF
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
PDF
MuleSoft Manchester Meetup #3 slides 31st March 2020
PDF
Multiplatform Apps with Spring, Kotlin, and RSocket
PDF
What's new in python 3.8? | Python 3.8 New Features | Edureka
PDF
Fantastic Buildpacks and Where to Find Them
PDF
AQAvit: Vitality through Testing
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
OpenShift Meetup - Tokyo - Service Mesh and Serverless Overview
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
MuleSoft Manchester Meetup #3 slides 31st March 2020
Multiplatform Apps with Spring, Kotlin, and RSocket
What's new in python 3.8? | Python 3.8 New Features | Edureka
Fantastic Buildpacks and Where to Find Them
AQAvit: Vitality through Testing

What's hot (20)

PDF
18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes
PDF
Kubernetes deployment strategies - CNCF Webinar
PDF
Language Server Protocol - Why the Hype?
PDF
Container Runtimes: Comparing and Contrasting Today's Engines
PDF
Version your build process as you version your code
PDF
OpenJDK & Graalvm
PDF
Kubernetes 101 - A Cluster Operating System
PPTX
Monitoring kubernetes with prometheus-operator
PDF
Planning WSO2 Deployments on DC/OS
PPTX
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
PDF
Lessons learned from the charts repo
PDF
Kubernetes deep dive - - Huawei 2015-10
PDF
Spark China Summit 2015 Guancheng Chen
PPTX
Cloud native buildpacks_collabnix
PDF
Efficient Parallel Testing with Docker
PDF
Kubeflow control plane
PPTX
Symfony 2 under control
PPTX
Why Kotlin?
PPTX
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
PDF
Troubleshooting tips from docker support engineers
18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes
Kubernetes deployment strategies - CNCF Webinar
Language Server Protocol - Why the Hype?
Container Runtimes: Comparing and Contrasting Today's Engines
Version your build process as you version your code
OpenJDK & Graalvm
Kubernetes 101 - A Cluster Operating System
Monitoring kubernetes with prometheus-operator
Planning WSO2 Deployments on DC/OS
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
Lessons learned from the charts repo
Kubernetes deep dive - - Huawei 2015-10
Spark China Summit 2015 Guancheng Chen
Cloud native buildpacks_collabnix
Efficient Parallel Testing with Docker
Kubeflow control plane
Symfony 2 under control
Why Kotlin?
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Troubleshooting tips from docker support engineers
Ad

Similar to Java10 new features 2018 (20)

PDF
Java 40 versions_sgp
PDF
TWJUG x Oracle Groundbreakers 2019 Taiwan - What’s New in Last Java Versions
PPTX
New thing in JDK10 even that scala-er should know
PDF
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
PDF
JCConf 2018 - Retrospect and Prospect of Java
PDF
JDK 11
PDF
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
PDF
Whats new in Java 9,10,11,12
PDF
Jozi-JUG JDK 9 Unconference
PDF
De Java 8 a Java 17
PDF
The features of java 11 vs. java 12
PDF
Java Future S Ritter
PPTX
JDK 9, 10, 11 and Beyond
PDF
Haj 4344-java se 9 and the application server-1
PDF
Java10 and Java11 at JJUG CCC 2018 Spr
PDF
JDK 9 Java Platform Module System
PDF
Summary of JDK10 and What will come into JDK11
PPTX
Clr jvm implementation differences
PDF
Highlights from Java 10, 11 and 12 and Future of Java at JUG Koblenz
PDF
De Java 8 ate Java 14
Java 40 versions_sgp
TWJUG x Oracle Groundbreakers 2019 Taiwan - What’s New in Last Java Versions
New thing in JDK10 even that scala-er should know
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
JCConf 2018 - Retrospect and Prospect of Java
JDK 11
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Whats new in Java 9,10,11,12
Jozi-JUG JDK 9 Unconference
De Java 8 a Java 17
The features of java 11 vs. java 12
Java Future S Ritter
JDK 9, 10, 11 and Beyond
Haj 4344-java se 9 and the application server-1
Java10 and Java11 at JJUG CCC 2018 Spr
JDK 9 Java Platform Module System
Summary of JDK10 and What will come into JDK11
Clr jvm implementation differences
Highlights from Java 10, 11 and 12 and Future of Java at JUG Koblenz
De Java 8 ate Java 14
Ad

Recently uploaded (20)

PDF
01-Introduction-to-Information-Management.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Sports Quiz easy sports quiz sports quiz
PDF
Insiders guide to clinical Medicine.pdf
PPTX
Lesson notes of climatology university.
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
GDM (1) (1).pptx small presentation for students
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
Cell Types and Its function , kingdom of life
PDF
Basic Mud Logging Guide for educational purpose
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Pharma ospi slides which help in ospi learning
01-Introduction-to-Information-Management.pdf
human mycosis Human fungal infections are called human mycosis..pptx
PPH.pptx obstetrics and gynecology in nursing
Microbial disease of the cardiovascular and lymphatic systems
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Sports Quiz easy sports quiz sports quiz
Insiders guide to clinical Medicine.pdf
Lesson notes of climatology university.
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
STATICS OF THE RIGID BODIES Hibbelers.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
GDM (1) (1).pptx small presentation for students
TR - Agricultural Crops Production NC III.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Cell Types and Its function , kingdom of life
Basic Mud Logging Guide for educational purpose
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Pharma ospi slides which help in ospi learning

Java10 new features 2018

  • 1. JAVA 10 Submitted to : Prof. Jyoti Lakhani MGSU, Bikaner Arjun Bhati Semester 4th
  • 2. Java 10 – JEP (Java Developments kit (JDK) Enhancement Proposal) – Oracle Corporation – Java Development Kit and OpenJDk
  • 3. 10 new features of Java 10 ! 286: Local-Variable Type Inference 296: Consolidate the JDK Forest into a Single Repository 304: Garbage-Collector Interface 307: Parallel Full GC for G1 310: Application Class-Data Sharing 312: Thread-Local Handshakes 313: Remove the Native-Header Generation Tool (javah) 314: Additional Unicode Language-Tag Extensions 316: Heap Allocation on Alternative Memory Devices 317: Experimental Java-Based JIT Compiler 319: Root Certificates 322: Time-Based Release Versioning JEP no.
  • 4. 286: Local-Variable Type Inference – This is most interesting futures – improve the developer experience by reducing the ceremony associated with writing Java code, – Many of the most popular strongly-type programming languages like C++, C#. – C++ provides the auto and C# provides var keyword. – Since the var keyword is context-sensitive,
  • 5. 304: Garbage-Collector Interface – The GC interface would be defined by the existing class CollectedHeap which every garbage collector needs to implement. – The code for implementation details that are shared between multiple garbage collectors should exist in a helper class. – HOTSHOP – Mobile Hotshop.There a few utility classes needed prior to a CollectedHeap being instantiated
  • 6. 307: Parallel Full GC for G1 – The G1 garbage collector is designed to avoid full collections – The current implementation of the full GC for G1 uses a single threaded mark- sweep-compact algorithm – Use the same number of threads as the Young and Mixed collections do. G 1 garbage collector Garbage collector
  • 7. 310: Application Class-Data Sharing – Class-Data Sharing, introduced in JDK 5, allows a set of classes to be pre- processed into a shared archive file that can then be memory-mapped at runtime to reduce startup time – Analysis of serverless cloud services shows that many of them load several thousand application classes at start-up. – Summary To improve startup and footprint, extend the existing Class-Data Sharing ("CDS") feature to allow application classes to be placed in the shared archive.
  • 8. 313: Remove the Native-Header Generation Tool (javah) – This functionality provides the ability to write native header files at the time that Java source code is compiled – Focusing on the support provided by javac eliminates the need to upgrade javah to support recent new paradigms, such as API access via the Compiler API in javax.tools.* – Remove the javah tool from the JDK. – Any testing will be limited to verifying the javah command is not present. – java.util.spi.ToolProvider SPI added in JDK 9.
  • 9. 314: Additional Unicode Language-Tag Extensions – This JEP will add support for the following additional extensions: – cu (currency type) fw (first day of week) rg (region override) tz (time zone) – Enhance java.util.Locale and related APIs to implement additional Unicode extensions of BCP 47 language tags.
  • 10. 317: Experimental Java-Based JIT Compiler – Enable Graal to be used as an experimental JIT compiler, starting with the Linux/x64 platform. Graal will use the JVM compiler interface (JVMCI) introduced in JDK 9. Graal is already in the JDK, so enabling it as an experimental JIT will primarily be a testing and debugging effort. – To enable Graal as the JIT compiler, use the following options on the java command line: – Graal is an Oracle project aiming to implement a high performance Java dynamic compiler and interpreter. The objective of Graal is to improve the performance of Java virtual machine-based languages to match the performance of native languages.
  • 11. Graal is just a Java library. JVMCI provides interfaces that Graal can use to do lower-level things such as installing machine code,
  • 12. 322: Time-Based Release Versioning – An element is either zero, or an unsigned integer numeral without leading zeros. – final element of a version number must not be zero. When an element is incremented, all subsequent elements are removed. – first four elements are assigned specific meanings, as follows: – 1. $FEATURE 2. $INTERIM 3. $UPDATE 4. $PATCH [1-9][0-9]*((.0)*.[1-9][0-9]*)*
  • 13. – The March 2018 release is #JDK10, – The September 2018 release is #JDK11 – http://openjdk.java.net – https://aboullaite.me – https://twitter.com/java/status – http://www.oracle.com