即时解压缩jar文件

时间:2019-10-20 21:26:21

标签: java jar executable-jar

例如,以一个独立的可执行jar文件为例,我们从应用程序中生成具有所有依赖项等的文件。我的理解是,该文件包含所有已压缩的类等。

当我们按照命令行java -jar myjar.jar执行此jar文件时,该文件是否正在即时解压缩?解释器是在执行之前先对所有内容进行解压缩吗?或者它究竟如何工作?

1 个答案:

答案 0 :(得分:0)

我们在这里已经对类似问题有一个答案:     How does a jar file get executed? Do the classes get extracted somewhere?

JVM能够从jar文件加载类或文件,而无需将jar提取为临时文件。标准库中也提供了此功能,有关更多信息,请参见JarFile。

因此,不,JVM不会将jar提取到临时文件,类(和资源)只是按需加载。

我们还可以通过执行命令“ java -jar myjar.jar”来检查jar是否被提取,并在执行程序时检查jar所在的文件夹中是否有任何提取。

相关问题