Viv*_*vek 15 java jvm executable-jar
我们知道这jar是一种压缩的归档文件格式,它充当已编译的java类和conf文件的容器.据我所知,要从压缩容器文件中读取任何内容,首先需要将它们提取到某处.
那么JVM如何在jar中执行类?它是否将jar的内容提取到临时位置然后执行类?
icz*_*cza 20
JVM能够从jar文件加载类或文件,而无需将jar解压缩到临时文件.
标准库中也提供了此功能,JarFile有关详细信息,请参阅.
所以不,JVM不会将jar提取到临时文件,只需按需加载类(和资源).
jar文件基本上是一个带有预定义条目的zip文件"META-INF/MANIFEST.MF"(只有在可执行jar的情况下才是必需的).此条MANIFEST.MF目(文件)包含JVM读取的一些信息.有关清单文件的更多信息:
在可执行jar的情况下,Manifest文件还包含应加载的主类以及public static void main(String[])为启动应用程序而调用的方法.该Main-Class清单条目指定主类:
Main-Class: classname
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2748 次 |
| 最近记录: |