JDK8与JDK13关于rt.jar的区别

2020-03-09 16:03:04来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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位置的应用程序将不再工作。可参考:

  • Java Platform, Standard Edition Oracle JDK 9 Migration Guide一文中的"Removed rt.jar and tools.jar"
  • Quora: Why is rt.jar missing from JDK 9?

JDK 13的目录如下,可以看出在lib目录下有40个lib*.dylib文件,dylib是MacOS系统的动态库(Windows为dll文件,Linux为so文件)。

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

$ ls
bin     conf    include jmods   legal   lib     man     release

$ ls -lh lib
 39K classlist
7.0M ct.sym
2.9K fontconfig.bfc
7.7K fontconfig.properties.src
128B jfr
104K jrt-fs.jar
 14K jspawnhelper
 29B jvm.cfg
 15K libattach.dylib
466K libawt.dylib
663K libawt_lwawt.dylib
 20K libdt_socket.dylib
9.3K libextnet.dylib
1.0M libfontmanager.dylib
512K libfreetype.dylib
 39K libinstrument.dylib
 39K libj2gss.dylib
 14K libj2pcsc.dylib
 68K libj2pkcs11.dylib
8.7K libjaas.dylib
142K libjava.dylib
143K libjavajpeg.dylib
8.6K libjawt.dylib
211K libjdwp.dylib
 24K libjimage.dylib
 60K libjli.dylib
9.5K libjsig.dylib
 57K libjsound.dylib
282K liblcms.dylib
 19K libmanagement.dylib
8.6K libmanagement_agent.dylib
 22K libmanagement_ext.dylib
405K libmlib_image.dylib
 75K libnet.dylib
 53K libnio.dylib
 20K libosx.dylib
104K libosxapp.dylib
 27K libosxkrb5.dylib
 39K libosxsecurity.dylib
 35K libosxui.dylib
 21K libprefs.dylib
8.3K librmi.dylib
 45K libsaproc.dylib
288K libsplashscreen.dylib
142K libsunec.dylib
 83K libunpack.dylib
 45K libverify.dylib
 26K libzip.dylib
133M modules
2.7K psfont.properties.ja
 10K psfontj2d.properties
192B security
160B server
 47M src.zip
105K tzdb.dat


$ file libjava.dylib
libjava.dylib: Mach-O 64-bit dynamically linked shared library x86_64

$ otool -L libjava.dylib
libjava.dylib:
    @rpath/libjava.dylib (compatibility version 1.0.0, current version 1.0.0)
    @rpath/libjvm.dylib (compatibility version 1.0.0, current version 1.0.0)
    @rpath/libverify.dylib (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1560.12.0)
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1560.12.0)
    /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration (compatibility version 1.0.0, current version 963.200.27)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.200.5)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

原文链接:https://www.cnblogs.com/sxpujs/p/12450338.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Servlet 简介

下一篇:记忆重拾:排序技术-排序的基本概念与性能