SlideShare a Scribd company logo
1 of 61
Download to read offline
JDK9
KUBOTA Yuji (@sugarlife)
Java Japan User Group LT with b33r
10/Aug/2015
Attention
•Depends on OpenJDK project.
•This slide provides only the
summary for LT. Something
may have been changed until
General Availability is released.
•Drunken Speaker, Drunken LT.
Please, don’t be serious :p
http://openjdk.java.net/projects/jdk9/ (31/Jul/2015)
Who am I
•KUBOTA Yuji (@sugarlife)
•icedtea committer
(HeapStats)
•OpenJDK Contributor
•JavaOne Speaker
•Hard-hearing person
JDK9 Schedule
•2015/12/10: Feature Complete
• : Many tests
•2016/07/21: Final Release
Candidate
•2016/09/22: General Availability
http://openjdk.java.net/projects/jdk9/
What features will come?
102: Process API Updates
110: HTTP 2 Client
143: Improve Contended Locking
158: Unified JVM Logging
165: Compiler Control
193: Variable Handles
197: Segmented Code Cache
199: Smart Java Compilation, Phase Two
201: Modular Source Code
211: Elide Deprecation Warnings on Import Statements
212: Resolve Lint and Doclint Warnings
213: Milling Project Coin
214: Remove GC Combinations Deprecated in JDK 8
215: Tiered Attribution for javac
216: Process Import Statements Correctly
217: Annotations Pipeline 2.0
219: Datagram Transport Layer Security (DTLS)
220: Modular Run-Time Images
221: Simplified Doclet API
222: jshell: The Java Shell (Read-Eval-Print Loop)
223: New Version-String Scheme
224: HTML5 Javadoc
226: UTF-8 Property Files
227: Unicode 7.0
228: Add More Diagnostic Commands
229: Create PKCS12 Keystores by Default
230: Microbenchmark Suite
231: Remove Launch-Time JRE Version Selection
232: Improve Secure Application Performance
233: Generate Run-Time Compiler Tests Automatically
235: Test Class-File Attributes Generated by javac
236: Parser API for Nashorn
237: Linux/AArch64 Port
240: Remove the JVM TI hprof Agent
241: Remove the jhat Tool
243: Java-Level JVM Compiler Interface
244: TLS Application-Layer Protocol Negotiation Extension
245: Validate JVM Command-Line Flag Arguments
246: Leverage CPU Instructions for GHASH and RSA
247: Compile for Older Platform Versions
248: Make G1 the Default Garbage Collector
249: OCSP Stapling for TLS
250: Store Interned Strings in CDS Archives
251: Multi-Resolution Images
252: Use CLDR Locale Data by Default
253: Prepare JavaFX UI Controls & CSS APIs for Modularization
254: Compact Strings
255: Merge Selected Xerces 2.11.0 Updates into JAXP
256: BeanInfo Annotations
257: Update JavaFX/Media to Newer Version of GStreamer
258: HarfBuzz Font-Layout Engine
What features will come?
102: Process API Updates
110: HTTP 2 Client
143: Improve Contended Locking
158: Unified JVM Logging
165: Compiler Control
193: Variable Handles
197: Segmented Code Cache
199: Smart Java Compilation, Phase Two
201: Modular Source Code
211: Elide Deprecation Warnings on Import Statements
212: Resolve Lint and Doclint Warnings
213: Milling Project Coin
214: Remove GC Combinations Deprecated in JDK 8
215: Tiered Attribution for javac
216: Process Import Statements Correctly
217: Annotations Pipeline 2.0
219: Datagram Transport Layer Security (DTLS)
220: Modular Run-Time Images
221: Simplified Doclet API
222: jshell: The Java Shell (Read-Eval-Print Loop)
223: New Version-String Scheme
224: HTML5 Javadoc
226: UTF-8 Property Files
227: Unicode 7.0
228: Add More Diagnostic Commands
229: Create PKCS12 Keystores by Default
230: Microbenchmark Suite
231: Remove Launch-Time JRE Version Selection
232: Improve Secure Application Performance
233: Generate Run-Time Compiler Tests Automatically
235: Test Class-File Attributes Generated by javac
236: Parser API for Nashorn
237: Linux/AArch64 Port
240: Remove the JVM TI hprof Agent
241: Remove the jhat Tool
243: Java-Level JVM Compiler Interface
244: TLS Application-Layer Protocol Negotiation Extension
245: Validate JVM Command-Line Flag Arguments
246: Leverage CPU Instructions for GHASH and RSA
247: Compile for Older Platform Versions
248: Make G1 the Default Garbage Collector
249: OCSP Stapling for TLS
250: Store Interned Strings in CDS Archives
251: Multi-Resolution Images
252: Use CLDR Locale Data by Default
253: Prepare JavaFX UI Controls & CSS APIs for Modularization
254: Compact Strings
255: Merge Selected Xerces 2.11.0 Updates into JAXP
256: BeanInfo Annotations
257: Update JavaFX/Media to Newer Version of GStreamer
258: HarfBuzz Font-Layout Engine
( ゚д゚ )
Give it a once-over!
•This color’s feature is important
for ME who develop the product
depends on JVM.
•This color’s feature is
interesting for someone who
develop java applications.
•Good feature. But not affects on
me.
102: Process API Updates
•Do you want information
about process? ok, here is.
110: HTTP 2 Client
•Do you want API for
HTTP/2 ? ok, here is.
143: Improve Contended Locking
•Good speed for contended
java object monitors.
•JVM will get a better
performance without change
of your codes.
•But, HeapStats (includes
thread monitor) developers
may be required hard work.
158: Unified JVM Logging
•Shall we unify the log format of
JVM: e.g. compiler, gc,
classload, metaspace, etc...
•If you develop log parser, watch it.
•Xlog[:[<what>][:[<output>][:[<decorat
ors>][:<output-options>]]]]
•Xlog:gc=debug:file=gc.log:uptimemi
llis,pids:filecount=5,filesize=1024
165: Compiler Control
•I WANNA CONTROL COMPILER
MORE DETAIL!
•You (probably JVM tester) can
•add some order when specified
method is being compiled (for c1
and c2).
• print assembly, set breakpoint,
enable compile or not, and more.
•change the option sets while run
193: Variable Handles
•sun.misc.Unsafe may be removed.
•So we prepare the alternatives.
This JEP is the first step for it.
(おまけ) sun.misc.Unsafe 動向
• 6/15-16 に行われた JCP Executive Committee Meeting で隠蔽・削除
に向けた影響や代替方法などの話し合いが行われた
• 元々 sun.* 等は Jigsaw(module化) 関係で処遇を決める必要があった
• JCP Meeting の議題はここ、Unsafeに関する議事録はここ。
• この代替方法の最初のステップとして先の VarHandles が提案され、つ
い最近(7月)に JDK9 に盛り込まれることが決まった
• VarHandles Project 詳細 (JVM Language Summit 2014)
http://www.oracle.com/technetwork/java/jvmls2014sandoz-2265216.pdf
• 今のところは
• sun.misc.Unsafe などが deprecated / removed される時期は未明
• sun.misc.Unsafe を含む重要な内部 API はJDK9 では隠蔽のみ、JDK10 で
は削除したいという方向に議論が進んでいる (ソース:ML, JEP260)
• 代替方法も提案されているが実際に実装が揃うのはこれから
• という状況なので、JDK9 で使う方法を含めた具体的な実装はまだこれ
からですが、準備は意識した方が良いです。Feature Complete で確認
しましょう :) なお、黒魔術なので仕組みを理解してから使いましょう
197: Segmented Code Cache
•Code cache diet.
•JVM will get a better
performance without change
of your codes.
199: Smart Java Compilation, Phase
Two
•sjavac.
201: Modular Source Code
•JDK source code into
modules.
•A part of Project Jigsaw.
•If you read OpenJDK source
code, you need to remake
your nautical table :p
211: Elide Deprecation Warnings
on Import Statements
•Lint warnings is cry-wolf?
•javac always show warning
when you import statement
which include a deprecated
method or member.
•So resolve it.
212: Resolve Lint and Doclint
Warnings
•To clean lint and doclint
errors of some JDK
components.
213: Milling Project Coin
•Add language changes.
•@SafeVargs on private methods
• non-overridable executable.
•improve try-with-resource
• allow effectively final variables to
be used as resources.
•Allow diamond with anonymous
classes if the argument type of
the inferred type is denotable.
•and more two coins.
214: Remove GC Combinations
Deprecated in JDK 8
•Good bye following GC Combi.
•DefNew + CMS
•ParNew + SerialOld
•DefNew + iCMS
•ParNew + iCMS
•CMS foreground(s)
• UseCMSCompactAtFullCollection
• CMSFullGCsBeforeCompaction
• UseCMSCollectionPassing
215: Tiered Attribution for javac
•New type checking in javac.
•If you have interest in “type” in
compiler, you should read this
implementation.
216: Process Import Statements
Correctly
•Fix javac.
217: Annotations Pipeline 2.0
•javac again.
219: Datagram Transport Layer
Security (DTLS)
•API for DTLS 1.0 (RFC 4347)
and DTLS 1.2 (RFC 6347)
220: Modular Run-Time Images
•Restructure the JDK and JRE
to accommodate modules.
•A main part of Project Jigsaw
•Many risks and impacts
•no longer contain the files
• lib/rt.jar, lib/tools.jar, lib/dt.jar,..
•Class loader of some existing
packages will change, and more.
•But very useful for many Dev.
221: Simplified Doclet API
•Replace Docklet API
(com.sun.javadoc) .
222: jshell: The Java Shell (Read-
Eval-Print Loop)
•No need more Test.java!
•An interactive tool for Java
programming language.
•You can use it already at below.
•https://jdk9.java.net/download/
•@bitter_fox joined this project.
•(Japanese committer)
223: New Version-String Scheme
•Change version-string format.
•Security update 2 times +
Minor update 1 times
•Current
• long: 1.8.0_20-b62
• short:8u20
•Proposed
• long: 9.1.2+62
• short:9.1.2
• $MAJOR.$MINOR.$SECURITY
224: HTML5 Javadoc
http://www.w3.org/html/logo/
226: UTF-8 Property Files
•You will be enable to use
UTF-8 property files.
227: Unicode 7.0
•You will..( see title.
228: Add More Diagnostic
Commands
•Add below commands
•print_class_summary (loaded classes)
•print_codegenlist (method queued)
•print_vm_state
•print_uft8pool
•datadump_request (heapdump?)
•dump_codelist (n-methods)
•print_codeblocks (code cache)
•set_vmflag
229: Create PKCS12 Keystores
by Default
•Improve security.
230: Microbenchmark Suite
•JMH++
•Add a basic suite of
microbenchmark to JDK codes.
231: Remove Launch-Time JRE
Version Selection
•Remove forgotten options.
•“-version:” option
•Not “-version” option
•“JRE-Version” manifest entry
at jar file.
232: Improve Secure Application
Performance
•Good speed with a security
manager installed.
233: Generate Run-Time
Compiler Tests Automatically
•Generate jtreg-compatible
automatically for openjdk
developers.
•If you want to evaluate JVM
with new CPU instructions,
optimizations, and other
enhancements, generated
tests should be useful.
235: Test Class-File Attributes
Generated by javac
•yes, javac.
236: Parser API for Nashorn
•To get IDE support for
Nashorn.
237: Linux/AArch64 Port
•ARM®
240: Remove the JVM TI hprof
Agent
•Good bye hprof
•See also (alternatives)
•OProfile
•perf
•YourKit
•SystemTap (for debug)
241: Remove the jhat Tool
•Good bye jhat
•See also (alternatives)
•Eclipse MAT
243: Java-Level JVM Compiler
Interface
•You can trace JVM JIT
activity via this interface.
244: TLS Application-Layer
Protocol Negotiation Extension
•javax.net.ssl package
supports the TLS ALPN.
•This feature relates to
HTTP/2 support (JEP110).
245: Validate JVM Command-
Line Flag Arguments
•For example, some JVM flag
takes an out-of-range value,
and crashes without an
informative error message.
•So fix it.
246: Leverage CPU Instructions
for GHASH and RSA
•Good security with a low
overhead.
246: Leverage CPU Instructions
for GHASH and RSA
•Good security with a low
overhead.
• for SPARC and Intel x64 CPU.
247: Compile for Older Platform
Versions
•javac for older.
248: Make G1 the Default
Garbage Collector
•Oracle says “G1 is good”.
•Huge impact to a operation
by default JVM options.
•But I think that all listeners
set a configuration to use
specified GC. So this change
does not impact you.
•Really?
249: OCSP Stapling for TLS
•TLS. Support RFC 6961.
250: Store Interned Strings in
CDS Archives
•Interned String will be stored
in Class-Data Sharing when
G1GC used.
•A history of a housing
•Permanent Gen (JDK6)
•Java Heap (JDK7-8)
•Class-Data Sharing (JDK9+G1)
251: Multi-Resolution Images
•A new java.awt.image API for
multi-resolution image.
y
y/2
x/2
x
252: Use CLDR Locale Data by
Default
•Use locale data from the
Unicode Common Locale
Data Repository.
253: Prepare JavaFX UI Controls
& CSS APIs for Modularization
•To clean around JavaFX to
prepare for Project Jigsaw.
254: Compact Strings
•String class diet.
255: Merge Selected Xerces
2.11.0 Updates into JAXP
•To update JAXP from Xerces
2.7.1 to 2.11.0.
256: BeanInfo Annotations
•Replace @beaninfo .
•@interface JavaBean {…}
•@interface BeanProperty {…}
•@interface SwingContainer{…}
257: Update JavaFX/Media to
Newer Version of GStreamer
•Update GStreamer.
•GStreamer: multimedia
framework.
258: HarfBuzz Font-Layout Engine
•Replace OpenType font-
layout engine from ICU to
HarfBuzz.
Important features for me.
•sun.misc.Unsafe alternatives.
•G1GC by default.
•Project Jigsaw.
•JIT compiler is more friendly.
•jshell

More Related Content

What's hot

55 New Features in JDK 9
55 New Features in JDK 955 New Features in JDK 9
55 New Features in JDK 9Simon Ritter
 
Go語言開發APM微服務在Kubernetes之經驗分享
Go語言開發APM微服務在Kubernetes之經驗分享Go語言開發APM微服務在Kubernetes之經驗分享
Go語言開發APM微服務在Kubernetes之經驗分享Te-Yen Liu
 
Spring Performance Gains
Spring Performance GainsSpring Performance Gains
Spring Performance GainsVMware Tanzu
 
Embedded systems
Embedded systems Embedded systems
Embedded systems Katy Anton
 
Illia shestakov - The Future of Java JDK #9
Illia shestakov - The Future of Java JDK #9Illia shestakov - The Future of Java JDK #9
Illia shestakov - The Future of Java JDK #9Anna Shymchenko
 
Intrinsic Methods in HotSpot VM
Intrinsic Methods in HotSpot VMIntrinsic Methods in HotSpot VM
Intrinsic Methods in HotSpot VMKris Mok
 
JDK 9 and JDK 10 Deep Dive
JDK 9 and JDK 10 Deep DiveJDK 9 and JDK 10 Deep Dive
JDK 9 and JDK 10 Deep DiveSimon Ritter
 
자바 성능 강의
자바 성능 강의자바 성능 강의
자바 성능 강의Terry Cho
 
How to implement a simple dalvik virtual machine
How to implement a simple dalvik virtual machineHow to implement a simple dalvik virtual machine
How to implement a simple dalvik virtual machineChun-Yu Wang
 
Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南maclean liu
 
JDK 9: The Start of a New Future for Java
JDK 9: The Start of a New Future for JavaJDK 9: The Start of a New Future for Java
JDK 9: The Start of a New Future for JavaSimon Ritter
 
Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Simon Ritter
 
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...mfrancis
 

What's hot (20)

55 New Features in JDK 9
55 New Features in JDK 955 New Features in JDK 9
55 New Features in JDK 9
 
Go語言開發APM微服務在Kubernetes之經驗分享
Go語言開發APM微服務在Kubernetes之經驗分享Go語言開發APM微服務在Kubernetes之經驗分享
Go語言開發APM微服務在Kubernetes之經驗分享
 
De Java 8 a Java 17
De Java 8 a Java 17De Java 8 a Java 17
De Java 8 a Java 17
 
Spring Performance Gains
Spring Performance GainsSpring Performance Gains
Spring Performance Gains
 
Embedded systems
Embedded systems Embedded systems
Embedded systems
 
JDK-9: Modules and Java Linker
JDK-9: Modules and Java LinkerJDK-9: Modules and Java Linker
JDK-9: Modules and Java Linker
 
De Java 8 ate Java 14
De Java 8 ate Java 14De Java 8 ate Java 14
De Java 8 ate Java 14
 
Illia shestakov - The Future of Java JDK #9
Illia shestakov - The Future of Java JDK #9Illia shestakov - The Future of Java JDK #9
Illia shestakov - The Future of Java JDK #9
 
Java On Speed
Java On SpeedJava On Speed
Java On Speed
 
Intrinsic Methods in HotSpot VM
Intrinsic Methods in HotSpot VMIntrinsic Methods in HotSpot VM
Intrinsic Methods in HotSpot VM
 
JDK 9 and JDK 10 Deep Dive
JDK 9 and JDK 10 Deep DiveJDK 9 and JDK 10 Deep Dive
JDK 9 and JDK 10 Deep Dive
 
GlassFish v2.1
GlassFish v2.1GlassFish v2.1
GlassFish v2.1
 
자바 성능 강의
자바 성능 강의자바 성능 강의
자바 성능 강의
 
How to implement a simple dalvik virtual machine
How to implement a simple dalvik virtual machineHow to implement a simple dalvik virtual machine
How to implement a simple dalvik virtual machine
 
Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南
 
JDK 9: The Start of a New Future for Java
JDK 9: The Start of a New Future for JavaJDK 9: The Start of a New Future for Java
JDK 9: The Start of a New Future for Java
 
ClassLoader Leaks
ClassLoader LeaksClassLoader Leaks
ClassLoader Leaks
 
Java 9 and Project Jigsaw
Java 9 and Project JigsawJava 9 and Project Jigsaw
Java 9 and Project Jigsaw
 
Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?
 
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
 

Similar to JDK9 Features (Summary, 31/Jul/2015) #JJUG

Java 40 versions_sgp
Java 40 versions_sgpJava 40 versions_sgp
Java 40 versions_sgpmichaelisvy
 
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para TiGustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para TiSoftware Guru
 
Whats new in Java 9,10,11,12
Whats new in Java 9,10,11,12Whats new in Java 9,10,11,12
Whats new in Java 9,10,11,12Rory Preddy
 
Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Kevin Sutter
 
Tips For Maintaining OSS Projects
Tips For Maintaining OSS ProjectsTips For Maintaining OSS Projects
Tips For Maintaining OSS ProjectsTaro L. Saito
 
Cloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep DiveCloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep DiveKazuto Kusama
 
GBDC 勉強会 #6 Java イベントレポート 2016
GBDC 勉強会 #6 Java イベントレポート 2016GBDC 勉強会 #6 Java イベントレポート 2016
GBDC 勉強会 #6 Java イベントレポート 2016Yutaka Kato
 
What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow MeetupWhat's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow MeetupKaxil Naik
 
Operating FoundationDB on Kubernetes
Operating FoundationDB on KubernetesOperating FoundationDB on Kubernetes
Operating FoundationDB on KubernetesDoKC
 
Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018David Stockton
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And BeyondVMware Tanzu
 
Open Source In The World Of Java
Open Source In The World Of JavaOpen Source In The World Of Java
Open Source In The World Of JavaJamie Coleman
 
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...Frank Munz
 
A Journey through the JDKs (Java 9 to Java 11)
A Journey through the JDKs (Java 9 to Java 11)A Journey through the JDKs (Java 9 to Java 11)
A Journey through the JDKs (Java 9 to Java 11)Markus Günther
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on RaspberryIgalia
 
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDKBigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDKnagachika t
 
Java 7 and 8, what does it mean for you
Java 7 and 8, what does it mean for youJava 7 and 8, what does it mean for you
Java 7 and 8, what does it mean for youDmitry Buzdin
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Dockervisual28
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEQAware GmbH
 

Similar to JDK9 Features (Summary, 31/Jul/2015) #JJUG (20)

Java 40 versions_sgp
Java 40 versions_sgpJava 40 versions_sgp
Java 40 versions_sgp
 
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para TiGustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
 
Whats new in Java 9,10,11,12
Whats new in Java 9,10,11,12Whats new in Java 9,10,11,12
Whats new in Java 9,10,11,12
 
Java 9 sneak peek
Java 9 sneak peekJava 9 sneak peek
Java 9 sneak peek
 
Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1
 
Tips For Maintaining OSS Projects
Tips For Maintaining OSS ProjectsTips For Maintaining OSS Projects
Tips For Maintaining OSS Projects
 
Cloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep DiveCloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep Dive
 
GBDC 勉強会 #6 Java イベントレポート 2016
GBDC 勉強会 #6 Java イベントレポート 2016GBDC 勉強会 #6 Java イベントレポート 2016
GBDC 勉強会 #6 Java イベントレポート 2016
 
What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow MeetupWhat's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
 
Operating FoundationDB on Kubernetes
Operating FoundationDB on KubernetesOperating FoundationDB on Kubernetes
Operating FoundationDB on Kubernetes
 
Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Open Source In The World Of Java
Open Source In The World Of JavaOpen Source In The World Of Java
Open Source In The World Of Java
 
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
 
A Journey through the JDKs (Java 9 to Java 11)
A Journey through the JDKs (Java 9 to Java 11)A Journey through the JDKs (Java 9 to Java 11)
A Journey through the JDKs (Java 9 to Java 11)
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on Raspberry
 
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDKBigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
 
Java 7 and 8, what does it mean for you
Java 7 and 8, what does it mean for youJava 7 and 8, what does it mean for you
Java 7 and 8, what does it mean for you
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EE
 

More from Yuji Kubota

Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Yuji Kubota
 
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Yuji Kubota
 
Head toward Java 14 and Java 15 #LINE_DM
Head toward Java 14 and Java 15 #LINE_DMHead toward Java 14 and Java 15 #LINE_DM
Head toward Java 14 and Java 15 #LINE_DMYuji Kubota
 
Head toward Java 14 and Java 15
Head toward Java 14 and Java 15Head toward Java 14 and Java 15
Head toward Java 14 and Java 15Yuji Kubota
 
オンライン会議と音声認識
オンライン会議と音声認識オンライン会議と音声認識
オンライン会議と音声認識Yuji Kubota
 
Head toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugHead toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugYuji Kubota
 
Catch up Java 12 and Java 13
Catch up Java 12 and Java 13Catch up Java 12 and Java 13
Catch up Java 12 and Java 13Yuji Kubota
 
Migration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjugMigration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjugYuji Kubota
 
Introduction to Java 11: Support and JVM Features #jjug
Introduction to Java 11: Support and JVM Features #jjugIntroduction to Java 11: Support and JVM Features #jjug
Introduction to Java 11: Support and JVM Features #jjugYuji Kubota
 
Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?Yuji Kubota
 
Project Jigsaw #kanjava
Project Jigsaw #kanjavaProject Jigsaw #kanjava
Project Jigsaw #kanjavaYuji Kubota
 
Java 9 and Future #jjug
Java 9 and Future #jjugJava 9 and Future #jjug
Java 9 and Future #jjugYuji Kubota
 
Secrets of Rock Star Developers (and How to Become One!) [CON7615] (Yuji KUBO...
Secrets of Rock Star Developers (and How to Become One!) [CON7615] (Yuji KUBO...Secrets of Rock Star Developers (and How to Become One!) [CON7615] (Yuji KUBO...
Secrets of Rock Star Developers (and How to Become One!) [CON7615] (Yuji KUBO...Yuji Kubota
 
Unified JVM Logging
Unified JVM LoggingUnified JVM Logging
Unified JVM LoggingYuji Kubota
 
Prepare for Java 9 #jjug
Prepare for Java 9 #jjugPrepare for Java 9 #jjug
Prepare for Java 9 #jjugYuji Kubota
 
JavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jpJavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jpYuji Kubota
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugYuji Kubota
 
Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6
Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6
Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6Yuji Kubota
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpYuji Kubota
 
OpenJDK トラブルシューティング #javacasual
OpenJDK トラブルシューティング #javacasualOpenJDK トラブルシューティング #javacasual
OpenJDK トラブルシューティング #javacasualYuji Kubota
 

More from Yuji Kubota (20)

Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
 
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
 
Head toward Java 14 and Java 15 #LINE_DM
Head toward Java 14 and Java 15 #LINE_DMHead toward Java 14 and Java 15 #LINE_DM
Head toward Java 14 and Java 15 #LINE_DM
 
Head toward Java 14 and Java 15
Head toward Java 14 and Java 15Head toward Java 14 and Java 15
Head toward Java 14 and Java 15
 
オンライン会議と音声認識
オンライン会議と音声認識オンライン会議と音声認識
オンライン会議と音声認識
 
Head toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugHead toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjug
 
Catch up Java 12 and Java 13
Catch up Java 12 and Java 13Catch up Java 12 and Java 13
Catch up Java 12 and Java 13
 
Migration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjugMigration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjug
 
Introduction to Java 11: Support and JVM Features #jjug
Introduction to Java 11: Support and JVM Features #jjugIntroduction to Java 11: Support and JVM Features #jjug
Introduction to Java 11: Support and JVM Features #jjug
 
Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?
 
Project Jigsaw #kanjava
Project Jigsaw #kanjavaProject Jigsaw #kanjava
Project Jigsaw #kanjava
 
Java 9 and Future #jjug
Java 9 and Future #jjugJava 9 and Future #jjug
Java 9 and Future #jjug
 
Secrets of Rock Star Developers (and How to Become One!) [CON7615] (Yuji KUBO...
Secrets of Rock Star Developers (and How to Become One!) [CON7615] (Yuji KUBO...Secrets of Rock Star Developers (and How to Become One!) [CON7615] (Yuji KUBO...
Secrets of Rock Star Developers (and How to Become One!) [CON7615] (Yuji KUBO...
 
Unified JVM Logging
Unified JVM LoggingUnified JVM Logging
Unified JVM Logging
 
Prepare for Java 9 #jjug
Prepare for Java 9 #jjugPrepare for Java 9 #jjug
Prepare for Java 9 #jjug
 
JavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jpJavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jp
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
 
Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6
Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6
Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
 
OpenJDK トラブルシューティング #javacasual
OpenJDK トラブルシューティング #javacasualOpenJDK トラブルシューティング #javacasual
OpenJDK トラブルシューティング #javacasual
 

Recently uploaded

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 

JDK9 Features (Summary, 31/Jul/2015) #JJUG

  • 1. JDK9 KUBOTA Yuji (@sugarlife) Java Japan User Group LT with b33r 10/Aug/2015
  • 2. Attention •Depends on OpenJDK project. •This slide provides only the summary for LT. Something may have been changed until General Availability is released. •Drunken Speaker, Drunken LT. Please, don’t be serious :p http://openjdk.java.net/projects/jdk9/ (31/Jul/2015)
  • 3. Who am I •KUBOTA Yuji (@sugarlife) •icedtea committer (HeapStats) •OpenJDK Contributor •JavaOne Speaker •Hard-hearing person
  • 4. JDK9 Schedule •2015/12/10: Feature Complete • : Many tests •2016/07/21: Final Release Candidate •2016/09/22: General Availability http://openjdk.java.net/projects/jdk9/
  • 5. What features will come? 102: Process API Updates 110: HTTP 2 Client 143: Improve Contended Locking 158: Unified JVM Logging 165: Compiler Control 193: Variable Handles 197: Segmented Code Cache 199: Smart Java Compilation, Phase Two 201: Modular Source Code 211: Elide Deprecation Warnings on Import Statements 212: Resolve Lint and Doclint Warnings 213: Milling Project Coin 214: Remove GC Combinations Deprecated in JDK 8 215: Tiered Attribution for javac 216: Process Import Statements Correctly 217: Annotations Pipeline 2.0 219: Datagram Transport Layer Security (DTLS) 220: Modular Run-Time Images 221: Simplified Doclet API 222: jshell: The Java Shell (Read-Eval-Print Loop) 223: New Version-String Scheme 224: HTML5 Javadoc 226: UTF-8 Property Files 227: Unicode 7.0 228: Add More Diagnostic Commands 229: Create PKCS12 Keystores by Default 230: Microbenchmark Suite 231: Remove Launch-Time JRE Version Selection 232: Improve Secure Application Performance 233: Generate Run-Time Compiler Tests Automatically 235: Test Class-File Attributes Generated by javac 236: Parser API for Nashorn 237: Linux/AArch64 Port 240: Remove the JVM TI hprof Agent 241: Remove the jhat Tool 243: Java-Level JVM Compiler Interface 244: TLS Application-Layer Protocol Negotiation Extension 245: Validate JVM Command-Line Flag Arguments 246: Leverage CPU Instructions for GHASH and RSA 247: Compile for Older Platform Versions 248: Make G1 the Default Garbage Collector 249: OCSP Stapling for TLS 250: Store Interned Strings in CDS Archives 251: Multi-Resolution Images 252: Use CLDR Locale Data by Default 253: Prepare JavaFX UI Controls & CSS APIs for Modularization 254: Compact Strings 255: Merge Selected Xerces 2.11.0 Updates into JAXP 256: BeanInfo Annotations 257: Update JavaFX/Media to Newer Version of GStreamer 258: HarfBuzz Font-Layout Engine
  • 6. What features will come? 102: Process API Updates 110: HTTP 2 Client 143: Improve Contended Locking 158: Unified JVM Logging 165: Compiler Control 193: Variable Handles 197: Segmented Code Cache 199: Smart Java Compilation, Phase Two 201: Modular Source Code 211: Elide Deprecation Warnings on Import Statements 212: Resolve Lint and Doclint Warnings 213: Milling Project Coin 214: Remove GC Combinations Deprecated in JDK 8 215: Tiered Attribution for javac 216: Process Import Statements Correctly 217: Annotations Pipeline 2.0 219: Datagram Transport Layer Security (DTLS) 220: Modular Run-Time Images 221: Simplified Doclet API 222: jshell: The Java Shell (Read-Eval-Print Loop) 223: New Version-String Scheme 224: HTML5 Javadoc 226: UTF-8 Property Files 227: Unicode 7.0 228: Add More Diagnostic Commands 229: Create PKCS12 Keystores by Default 230: Microbenchmark Suite 231: Remove Launch-Time JRE Version Selection 232: Improve Secure Application Performance 233: Generate Run-Time Compiler Tests Automatically 235: Test Class-File Attributes Generated by javac 236: Parser API for Nashorn 237: Linux/AArch64 Port 240: Remove the JVM TI hprof Agent 241: Remove the jhat Tool 243: Java-Level JVM Compiler Interface 244: TLS Application-Layer Protocol Negotiation Extension 245: Validate JVM Command-Line Flag Arguments 246: Leverage CPU Instructions for GHASH and RSA 247: Compile for Older Platform Versions 248: Make G1 the Default Garbage Collector 249: OCSP Stapling for TLS 250: Store Interned Strings in CDS Archives 251: Multi-Resolution Images 252: Use CLDR Locale Data by Default 253: Prepare JavaFX UI Controls & CSS APIs for Modularization 254: Compact Strings 255: Merge Selected Xerces 2.11.0 Updates into JAXP 256: BeanInfo Annotations 257: Update JavaFX/Media to Newer Version of GStreamer 258: HarfBuzz Font-Layout Engine ( ゚д゚ )
  • 7. Give it a once-over! •This color’s feature is important for ME who develop the product depends on JVM. •This color’s feature is interesting for someone who develop java applications. •Good feature. But not affects on me.
  • 8. 102: Process API Updates •Do you want information about process? ok, here is.
  • 9. 110: HTTP 2 Client •Do you want API for HTTP/2 ? ok, here is.
  • 10. 143: Improve Contended Locking •Good speed for contended java object monitors. •JVM will get a better performance without change of your codes. •But, HeapStats (includes thread monitor) developers may be required hard work.
  • 11. 158: Unified JVM Logging •Shall we unify the log format of JVM: e.g. compiler, gc, classload, metaspace, etc... •If you develop log parser, watch it. •Xlog[:[<what>][:[<output>][:[<decorat ors>][:<output-options>]]]] •Xlog:gc=debug:file=gc.log:uptimemi llis,pids:filecount=5,filesize=1024
  • 12. 165: Compiler Control •I WANNA CONTROL COMPILER MORE DETAIL! •You (probably JVM tester) can •add some order when specified method is being compiled (for c1 and c2). • print assembly, set breakpoint, enable compile or not, and more. •change the option sets while run
  • 13. 193: Variable Handles •sun.misc.Unsafe may be removed. •So we prepare the alternatives. This JEP is the first step for it.
  • 14. (おまけ) sun.misc.Unsafe 動向 • 6/15-16 に行われた JCP Executive Committee Meeting で隠蔽・削除 に向けた影響や代替方法などの話し合いが行われた • 元々 sun.* 等は Jigsaw(module化) 関係で処遇を決める必要があった • JCP Meeting の議題はここ、Unsafeに関する議事録はここ。 • この代替方法の最初のステップとして先の VarHandles が提案され、つ い最近(7月)に JDK9 に盛り込まれることが決まった • VarHandles Project 詳細 (JVM Language Summit 2014) http://www.oracle.com/technetwork/java/jvmls2014sandoz-2265216.pdf • 今のところは • sun.misc.Unsafe などが deprecated / removed される時期は未明 • sun.misc.Unsafe を含む重要な内部 API はJDK9 では隠蔽のみ、JDK10 で は削除したいという方向に議論が進んでいる (ソース:ML, JEP260) • 代替方法も提案されているが実際に実装が揃うのはこれから • という状況なので、JDK9 で使う方法を含めた具体的な実装はまだこれ からですが、準備は意識した方が良いです。Feature Complete で確認 しましょう :) なお、黒魔術なので仕組みを理解してから使いましょう
  • 15. 197: Segmented Code Cache •Code cache diet. •JVM will get a better performance without change of your codes.
  • 16. 199: Smart Java Compilation, Phase Two •sjavac.
  • 17. 201: Modular Source Code •JDK source code into modules. •A part of Project Jigsaw. •If you read OpenJDK source code, you need to remake your nautical table :p
  • 18. 211: Elide Deprecation Warnings on Import Statements •Lint warnings is cry-wolf? •javac always show warning when you import statement which include a deprecated method or member. •So resolve it.
  • 19. 212: Resolve Lint and Doclint Warnings •To clean lint and doclint errors of some JDK components.
  • 20. 213: Milling Project Coin •Add language changes. •@SafeVargs on private methods • non-overridable executable. •improve try-with-resource • allow effectively final variables to be used as resources. •Allow diamond with anonymous classes if the argument type of the inferred type is denotable. •and more two coins.
  • 21. 214: Remove GC Combinations Deprecated in JDK 8 •Good bye following GC Combi. •DefNew + CMS •ParNew + SerialOld •DefNew + iCMS •ParNew + iCMS •CMS foreground(s) • UseCMSCompactAtFullCollection • CMSFullGCsBeforeCompaction • UseCMSCollectionPassing
  • 22. 215: Tiered Attribution for javac •New type checking in javac. •If you have interest in “type” in compiler, you should read this implementation.
  • 23. 216: Process Import Statements Correctly •Fix javac.
  • 24. 217: Annotations Pipeline 2.0 •javac again.
  • 25. 219: Datagram Transport Layer Security (DTLS) •API for DTLS 1.0 (RFC 4347) and DTLS 1.2 (RFC 6347)
  • 26. 220: Modular Run-Time Images •Restructure the JDK and JRE to accommodate modules. •A main part of Project Jigsaw •Many risks and impacts •no longer contain the files • lib/rt.jar, lib/tools.jar, lib/dt.jar,.. •Class loader of some existing packages will change, and more. •But very useful for many Dev.
  • 27. 221: Simplified Doclet API •Replace Docklet API (com.sun.javadoc) .
  • 28. 222: jshell: The Java Shell (Read- Eval-Print Loop) •No need more Test.java! •An interactive tool for Java programming language. •You can use it already at below. •https://jdk9.java.net/download/ •@bitter_fox joined this project. •(Japanese committer)
  • 29. 223: New Version-String Scheme •Change version-string format. •Security update 2 times + Minor update 1 times •Current • long: 1.8.0_20-b62 • short:8u20 •Proposed • long: 9.1.2+62 • short:9.1.2 • $MAJOR.$MINOR.$SECURITY
  • 31. 226: UTF-8 Property Files •You will be enable to use UTF-8 property files.
  • 32. 227: Unicode 7.0 •You will..( see title.
  • 33. 228: Add More Diagnostic Commands •Add below commands •print_class_summary (loaded classes) •print_codegenlist (method queued) •print_vm_state •print_uft8pool •datadump_request (heapdump?) •dump_codelist (n-methods) •print_codeblocks (code cache) •set_vmflag
  • 34. 229: Create PKCS12 Keystores by Default •Improve security.
  • 35. 230: Microbenchmark Suite •JMH++ •Add a basic suite of microbenchmark to JDK codes.
  • 36. 231: Remove Launch-Time JRE Version Selection •Remove forgotten options. •“-version:” option •Not “-version” option •“JRE-Version” manifest entry at jar file.
  • 37. 232: Improve Secure Application Performance •Good speed with a security manager installed.
  • 38. 233: Generate Run-Time Compiler Tests Automatically •Generate jtreg-compatible automatically for openjdk developers. •If you want to evaluate JVM with new CPU instructions, optimizations, and other enhancements, generated tests should be useful.
  • 39. 235: Test Class-File Attributes Generated by javac •yes, javac.
  • 40. 236: Parser API for Nashorn •To get IDE support for Nashorn.
  • 42. 240: Remove the JVM TI hprof Agent •Good bye hprof •See also (alternatives) •OProfile •perf •YourKit •SystemTap (for debug)
  • 43. 241: Remove the jhat Tool •Good bye jhat •See also (alternatives) •Eclipse MAT
  • 44. 243: Java-Level JVM Compiler Interface •You can trace JVM JIT activity via this interface.
  • 45. 244: TLS Application-Layer Protocol Negotiation Extension •javax.net.ssl package supports the TLS ALPN. •This feature relates to HTTP/2 support (JEP110).
  • 46. 245: Validate JVM Command- Line Flag Arguments •For example, some JVM flag takes an out-of-range value, and crashes without an informative error message. •So fix it.
  • 47. 246: Leverage CPU Instructions for GHASH and RSA •Good security with a low overhead.
  • 48. 246: Leverage CPU Instructions for GHASH and RSA •Good security with a low overhead. • for SPARC and Intel x64 CPU.
  • 49. 247: Compile for Older Platform Versions •javac for older.
  • 50. 248: Make G1 the Default Garbage Collector •Oracle says “G1 is good”. •Huge impact to a operation by default JVM options. •But I think that all listeners set a configuration to use specified GC. So this change does not impact you. •Really?
  • 51. 249: OCSP Stapling for TLS •TLS. Support RFC 6961.
  • 52. 250: Store Interned Strings in CDS Archives •Interned String will be stored in Class-Data Sharing when G1GC used. •A history of a housing •Permanent Gen (JDK6) •Java Heap (JDK7-8) •Class-Data Sharing (JDK9+G1)
  • 53. 251: Multi-Resolution Images •A new java.awt.image API for multi-resolution image. y y/2 x/2 x
  • 54. 252: Use CLDR Locale Data by Default •Use locale data from the Unicode Common Locale Data Repository.
  • 55. 253: Prepare JavaFX UI Controls & CSS APIs for Modularization •To clean around JavaFX to prepare for Project Jigsaw.
  • 57. 255: Merge Selected Xerces 2.11.0 Updates into JAXP •To update JAXP from Xerces 2.7.1 to 2.11.0.
  • 58. 256: BeanInfo Annotations •Replace @beaninfo . •@interface JavaBean {…} •@interface BeanProperty {…} •@interface SwingContainer{…}
  • 59. 257: Update JavaFX/Media to Newer Version of GStreamer •Update GStreamer. •GStreamer: multimedia framework.
  • 60. 258: HarfBuzz Font-Layout Engine •Replace OpenType font- layout engine from ICU to HarfBuzz.
  • 61. Important features for me. •sun.misc.Unsafe alternatives. •G1GC by default. •Project Jigsaw. •JIT compiler is more friendly. •jshell