the modular java platform & project jigsawjava.io java.lang java.lang.annotation...

Post on 22-May-2020

14 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related