the modular java platform & project jigsawjava.io java.lang java.lang.annotation...
TRANSCRIPT
Insert Presenter’s Name HereInsert Presenter’s Title Here
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
The Modular Java Platform & Project Jigsaw
Mark Reinhold (@mreinhold)Chief Architect, Java Platform GroupOracle
2014/2/4
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.2
ScalabilityPerformance
Security
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.3
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.3
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
54MB
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
54MB
compact1
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
1154MB
compact1
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
1154MB
compact1
compact2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
jdbc jaxp
1154MB
compact1
rmicompact2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
jdbc jaxp
1154MB 16
compact1
rmicompact2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
jdbc jaxp
1154MB 16
compact3
compact1
rmicompact2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
authjdbc jaxpnaming
rowsetcompiler
xmldsig
prefsinstrument
1154MB 16
compact3
compact1
rmicompact2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
authjdbc jaxpnaming
rowsetcompiler
xmldsig
prefsinstrument
1154MB 1630
compact3
compact1
rmicompact2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
authjdbc jaxpnaming
rowsetcompiler
xmldsig
prefsinstrument
1154MB 1630
JRE
compact3
compact1
rmicompact2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
authjdbc jaxpnaming
rowsetcompiler
xmldsig
prefssctpinstrument
crypto
corba
desktop
jaxws
httpserver
1154MB 1630 nashorn
javafx
JRE
compact3
compact1
rmicompact2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
authjdbc jaxpnaming
rowsetcompiler
xmldsig
prefssctpinstrument
crypto
corba
desktop
jaxws
httpserver
1154MB 1630 nashorn
javafx
rmi
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
base
tlslogging
authjdbc
jta
jaxpnaming
rowset
kerberosmanagement
compiler
xmldsig
prefssctpinstrument
script
crypto
management.iiopcosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
1154MB 1630 nashorn
javafx
rmi
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
base
tlslogging
authjdbc
jta
jaxpnaming
rowset
kerberosmanagement
compiler
xmldsig
prefssctpinstrument
script
crypto
management.iiopcosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
1154MB 1630 nashorn
javafx
rmi
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
base
tlslogging
authjdbc
jta
jaxpnaming
rowset
kerberosmanagement
compiler
xmldsig
prefssctpinstrument
script
crypto
management.iiopcosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
nashorn
javafx
rmi
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
base
tlslogging
authjdbc
jta
jaxpnaming
rowset
kerberosmanagement
compiler
xmldsig
prefssctpinstrument
script
crypto
management.iiopcosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
nashorn
javafx
rmi
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
base
tlslogging
authjdbc
jta
jaxpnaming
rowset
kerberosmanagement
compiler
xmldsig
prefssctpinstrument
script
crypto
management.iiopcosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
nashorn
rmi
javafx
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
base
tlslogging
authjdbc
jta
jaxpnaming
rowset
kerberosmanagement
compiler
xmldsig
prefssctpinstrument
script
crypto
management.iiopcosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
nashorn
javafx
rmi
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
base
tlslogging
authjdbc
jta
jaxpnaming
rowset
kerberosmanagement
compiler
xmldsig
prefssctpinstrument
script
crypto
management.iiopcosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
javafx
nashorn
rmi
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
base
loggingauth
jdbc
jta
jaxpnaming
rowset
kerberosmanagement
compiler
xmldsig
prefssctpinstrument
script
crypto
management.iiopcosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
javafxtls
nashorn
rmi
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
base
authjdbc
jta
jaxpnaming
rowset
kerberosmanagement
compiler
xmldsig
prefssctpinstrument
script
crypto
management.iiopcosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
javafxtls
nashorn
rmi
logging
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
base
authjdbc
jta
jaxpnaming
rowset
kerberosmanagement
compiler
xmldsig
prefssctpinstrument
crypto
management.iiopcosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
javafxtls
nashorn
rmi
logging
script
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
base
javafxtls
nashorn
rmi
logging
script
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.5
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.5
*.jmod
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.5
*.jmod$JRE/bin/java /lib/...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.5
jlink*.jmod$JRE/bin/java /lib/...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6
$ jlink -mods javafx,rmi,nashorn -d $JRE
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6
$ jlink -mods javafx,rmi,nashorn -d $JRE$ $JRE/bin/java -jar app.jar:... ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6
$ jlink -mods javafx,rmi,nashorn -d $JRE$ $JRE/bin/java -jar app.jar:... ...
$ javac -mods javafx,rmi,nashorn -d classes *.java
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6
$ jlink -mods javafx,rmi,nashorn -d $JRE$ $JRE/bin/java -jar app.jar:... ...
$ javac -mods javafx,rmi,nashorn -d classes *.java
$ java -mods javafx,rmi,nashorn -jar app.jar:... ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.7
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8
Fast class lookup
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8
Fast class lookupAggressive inlining
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8
Fast class lookupAggressive inlining
Ahead-of-time compilation
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8
Fast class lookupAggressive inlining
JVM-specific memory imagesAhead-of-time compilation
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8
Fast class lookupAggressive inlining
JVM-specific memory imagesAhead-of-time compilation
Removal of unused fields/methods/classes
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9
jlink*.jmod$JRE/bin/java /lib/...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9
jlink*.jmod$JRE/bin/java /lib/...
*.jar
*.class
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9
jlink*.jmod$JRE/bin/java /lib/...
*.jar
*.class
JVM image
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9
jlink*.jmod$JRE/bin/java /lib/...
*.jar
*.class
JVM image
Fat binary
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9
jlink*.jmod$JRE/bin/java /lib/...
*.jar
*.class
JVM image
.jar
Fat binary
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9
jlink*.jmod$JRE/bin/java /lib/...
*.jar
*.class
JVM image
.jar
.jmod
Fat binary
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10
$ jlink -mods javafx,rmi,nashorn -cp app.jar -d $JRE
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10
$ jlink -mods javafx,rmi,nashorn -cp app.jar -d $JRE$ $JRE/bin/app ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10
$ jlink -mods javafx,rmi,nashorn -cp app.jar -d $JRE
$ jlink -mods javafx,rmi,nashorn -cp app.jar -o app.jai
$ $JRE/bin/app ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10
$ jlink -mods javafx,rmi,nashorn -cp app.jar -d $JRE
$ jlink -mods javafx,rmi,nashorn -cp app.jar -o app.jai$ java -jai app.jai
$ $JRE/bin/app ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.11 http://www.flickr.com/photos/pasukaru76/5268559005/
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.11 http://www.flickr.com/photos/pasukaru76/5268559005/
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.12
rt.jartools.jar
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.12
rt.jartools.jar
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.12
$JRE/bin/ /conf/ /ext/ /include/ /lib/$ARCH/*.so /$VM/*.so /modules/
rt.jartools.jar
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.13
java.iojava.langjava.lang.annotationjava.lang.invokejava.lang.refjava.lang.reflectjava.mathjava.netjava.niojava.nio.channelsjava.nio.channels.spijava.nio.charsetjava.nio.charset.spijava.nio.filejava.nio.file.attributejava.nio.file.spijava.securityjava.security.certjava.security.interfacesjava.security.specjava.textjava.text.spijava.timejava.time.chronojava.time.formatjava.time.temporaljava.time.zonejava.utiljava.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.locksjava.util.function
java.util.jarjava.util.regexjava.util.spijava.util.streamjava.util.zipjavax.cryptojavax.crypto.interfacesjavax.crypto.specjavax.security.authjavax.security.auth.callbackjavax.security.auth.loginjavax.security.auth.spijavax.security.auth.x500jdkjdk.internal.org.objectweb.asmjdk.internal.org.xml.saxjdk.internal.util.xmljdk.internal.util.xml.impljdk.jigsaw.modulejdk.jigsaw.tools.jlinkjdk.joptsimplejdk.joptsimple.internaljdk.joptsimple.utilsun.invokesun.invoke.anonsun.invoke.emptysun.invoke.utilsun.launchersun.launcher.resourcessun.miscsun.misc.resourcessun.net
sun.net.ftpsun.net.ftp.implsun.net.idnsun.net.sdpsun.net.smtpsun.net.spisun.net.spi.nameservicesun.net.utilsun.net.wwwsun.net.www.content.textsun.net.www.httpsun.net.www.protocol.filesun.net.www.protocol.ftpsun.net.www.protocol.httpsun.net.www.protocol.jarsun.net.www.protocol.mailtosun.net.www.protocol.netdocsun.niosun.nio.chsun.nio.cssun.nio.fssun.reflectsun.reflect.annotationsun.reflect.generics.factorysun.reflect.generics.parsersun.reflect.generics.scopesun.reflect.generics.treesun.reflect.generics.visitorsun.reflect.miscsun.security.actionsun.security.jcasun.security.pkcs
sun.security.pkcs12sun.security.providersun.security.provider.certpathsun.security.rsasun.security.timestampsun.security.utilsun.security.validatorsun.security.x509sun.textsun.text.bidisun.text.normalizersun.text.resourcessun.text.resources.cldrsun.text.resources.cldr.ensun.text.resources.ensun.utilsun.util.calendarsun.util.cldrsun.util.localesun.util.locale.providersun.util.loggingsun.util.logging.resourcessun.util.resourcessun.util.resources.cldrsun.util.resources.cldr.ensun.util.resources.ensun.util.spi
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.14
java.iojava.langjava.lang.annotationjava.lang.invokejava.lang.refjava.lang.reflectjava.mathjava.netjava.niojava.nio.channelsjava.nio.channels.spijava.nio.charsetjava.nio.charset.spijava.nio.filejava.nio.file.attributejava.nio.file.spijava.securityjava.security.certjava.security.interfacesjava.security.specjava.textjava.text.spijava.timejava.time.chronojava.time.formatjava.time.temporaljava.time.zonejava.utiljava.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.locksjava.util.function
java.util.jarjava.util.regexjava.util.spijava.util.streamjava.util.zipjavax.cryptojavax.crypto.interfacesjavax.crypto.specjavax.security.authjavax.security.auth.callbackjavax.security.auth.loginjavax.security.auth.spijavax.security.auth.x500jdkjdk.internal.org.objectweb.asmjdk.internal.org.xml.saxjdk.internal.util.xmljdk.internal.util.xml.impljdk.jigsaw.modulejdk.jigsaw.tools.jlinkjdk.joptsimplejdk.joptsimple.internaljdk.joptsimple.utilsun.invokesun.invoke.anonsun.invoke.emptysun.invoke.utilsun.launchersun.launcher.resourcessun.miscsun.misc.resourcessun.net
sun.net.ftpsun.net.ftp.implsun.net.idnsun.net.sdpsun.net.smtpsun.net.spisun.net.spi.nameservicesun.net.utilsun.net.wwwsun.net.www.content.textsun.net.www.httpsun.net.www.protocol.filesun.net.www.protocol.ftpsun.net.www.protocol.httpsun.net.www.protocol.jarsun.net.www.protocol.mailtosun.net.www.protocol.netdocsun.niosun.nio.chsun.nio.cssun.nio.fssun.reflectsun.reflect.annotationsun.reflect.generics.factorysun.reflect.generics.parsersun.reflect.generics.scopesun.reflect.generics.treesun.reflect.generics.visitorsun.reflect.miscsun.security.actionsun.security.jcasun.security.pkcs
sun.security.pkcs12sun.security.providersun.security.provider.certpathsun.security.rsasun.security.timestampsun.security.utilsun.security.validatorsun.security.x509sun.textsun.text.bidisun.text.normalizersun.text.resourcessun.text.resources.cldrsun.text.resources.cldr.ensun.text.resources.ensun.utilsun.util.calendarsun.util.cldrsun.util.localesun.util.locale.providersun.util.loggingsun.util.logging.resourcessun.util.resourcessun.util.resources.cldrsun.util.resources.cldr.ensun.util.resources.ensun.util.spi
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.14
java.lang.SecurityManager::checkPackageAccess
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.15
base
tlslogging
authjdbc
jta
jaxpnaming
rowset
kerberosmanagement
compiler
xmldsig
prefssctpinstrument
script
crypto
management.iiopcosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
nashorn
javafx
rmi
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.16 http://www.flickr.com/photos/pasukaru76/5268559005/
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.17
sun.**.internal.*
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.17
sun.**.internal.*
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.18
ScalabilityPerformance
Security
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.19
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.19
The preceding material is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
Insert Presenter’s Name HereInsert Presenter’s Title Here
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
The Modular Java Platform & Project Jigsaw
Mark Reinhold (@mreinhold)Chief Architect, Java Platform GroupOracle
2014/2/4