JDK8与JDK13关于rt.jar的区别

在JDK8中,rt.jar有64MB,tools.jar有17MB。

$ cd /Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home

$ ls
COPYRIGHT LICENSE README.html bin include javafx-src.zip jre lib man release src.zip

$ ls -lh ./jre/lib/rt.jar
-rw-r--r--  1 root  wheel    64M 10  5 18:39 ./jre/lib/rt.jar

$ ls -lh ./lib/tools.jar
-rw-r--r--  1 root  wheel    17M 10  5 18:40 ./lib/tools.jar

$ ls -lh lib/dt.jar
-rw-r--r--  1 root  wheel   159K 10  5 18:40 lib/dt.jar

JDK中的lib\tools.jar和JRE中的lib\rt.jar已从Java SE 9中删除。这些JAR中可用的类和资源现在以文件中的内部格式存储在lib目录的命名模块中。 可以使用称为jrt的新方案来从运行时映像检索这些类和资源。 依靠这些JAR位置的应用程序将不再工作。可参考:

JDK 13的目录如下,可以看出在jmods目录下有70个以jmod为后缀的文件。

$ cd /Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home

$ ls
bin     conf    include jmods   legal   lib     man     release

$ ls -lh jmods
  16M java.base.jmod
 111K java.compiler.jmod
  50K java.datatransfer.jmod
  12M java.desktop.jmod
  33K java.instrument.jmod
 111K java.logging.jmod
 868K java.management.jmod
  88K java.management.rmi.jmod
 445K java.naming.jmod
 695K java.net.http.jmod
  74K java.prefs.jmod
 365K java.rmi.jmod
  43K java.scripting.jmod
 2.1K java.se.jmod
 599K java.security.jgss.jmod
  80K java.security.sasl.jmod
  52K java.smartcardio.jmod
  74K java.sql.jmod
 186K java.sql.rowset.jmod
 3.9K java.transaction.xa.jmod
 651K java.xml.crypto.jmod
 4.3M java.xml.jmod
  53K jdk.accessibility.jmod
 279K jdk.aot.jmod
  27K jdk.attach.jmod
 1.8M jdk.charsets.jmod
 8.3M jdk.compiler.jmod
 337K jdk.crypto.cryptoki.jmod
 147K jdk.crypto.ec.jmod
 160K jdk.dynalink.jmod
 6.9K jdk.editpad.jmod
 2.3M jdk.hotspot.agent.jmod
  99K jdk.httpserver.jmod
 7.4K jdk.internal.ed.jmod
  88K jdk.internal.jvmstat.jmod
 348K jdk.internal.le.jmod
  80K jdk.internal.opt.jmod
 440K jdk.internal.vm.ci.jmod
 6.0M jdk.internal.vm.compiler.jmod
  13K jdk.internal.vm.compiler.management.jmod
 207K jdk.jartool.jmod
 1.3M jdk.javadoc.jmod
 144K jdk.jcmd.jmod
 459K jdk.jconsole.jmod
 720K jdk.jdeps.jmod
 824K jdk.jdi.jmod
 108K jdk.jdwp.agent.jmod
 458K jdk.jfr.jmod
 392K jdk.jlink.jmod
 647K jdk.jshell.jmod
 5.3K jdk.jsobject.jmod
  32K jdk.jstatd.jmod
 9.3M jdk.localedata.jmod
  70K jdk.management.agent.jmod
  34K jdk.management.jfr.jmod
  58K jdk.management.jmod
  57K jdk.naming.dns.jmod
  18K jdk.naming.rmi.jmod
  23K jdk.net.jmod
 107K jdk.pack.jmod
 521K jdk.rmic.jmod
 2.1M jdk.scripting.nashorn.jmod
  54K jdk.scripting.nashorn.shell.jmod
  23K jdk.sctp.jmod
  63K jdk.security.auth.jmod
  24K jdk.security.jgss.jmod
  14K jdk.unsupported.desktop.jmod
  16K jdk.unsupported.jmod
  41K jdk.xml.dom.jmod
  93K jdk.zipfs.jmod

使用jmod命令解压后,结构如下:

> jmod extract --dir javabase java.base.jmod

> ls javabase
bin     classes conf    include legal   lib     man
posted on 2020-03-09 18:48  大鹏123  阅读(1494)  评论(0编辑  收藏  举报