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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM