JAR索引
如果一个应用程序或者applet捆绑到多个JAR文件中,那么类装载器就使用一个简单的线性搜索算法搜索类路径中的每一个元素,这使类装载器可能要下载并打开许多个JAR文件,直到找到所要的类或者资源。如果类装载器试图寻找一个不存在的资源,那么在应用程序或者applet中的所有JAR文件都会下载。对于大型的网络应用程序和applet,这会导致启动缓慢、响应迟缓并浪费带宽。
从JDK 1.3以后,JAR文件式开始支持索引以优化网络应用程序中类的搜索过程,特别是applet。JarIndex机制收集在applet或者应用程序中定义的所有JAR文件的内容,并将这些信息存储到第一个JAR文件中的索引文件中。manifest.mf下载了第一个JAR文件后,applet类装载器将使用收集的内容信息高效地装载JAR文件。这个目录信息存储在根JAR文件的META-INF目录中的一个名为INDEX.LIST的简单文本文件中。
创建一个JarIndex
可以通过在jar命令中指定-i选项创建一个JarIndex。假设我们的目录结构如下图所示:
图2. JarIndex
您将使用下述命令为JarIndex_Main.jar、JarIndex_test.jar和JarIndex_test1.jar创建一个索引文件:
INDEX.LIST文件的式很简单,包含每个已索引的JAR文件中包含的包或者类的名字,如清单2所示:
清单2. JarIndex INDEX.LIST文件示例
JarIndex-Version: 1.0
JarIndex_Main.jar
sp
JarIndex_test.jar
Sample
SampleDir/JarIndex_test1.jar
org
org/apache
org/apache/xerces
org/apache/xerces/framework
org/apache/xerces/framework/xml4j
结束语
JAR式远远超出了一种压缩式,它有许多可以改进效率、安全性和组织Java应用程序的功能。因为这些功能已经建立在核心平台--包括编译器和类装载器--中了,所以开发人员可以利用JAR文件式的能力简化和改进开发和部署过程
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-41868-6.html
当然到场支持了
比如小国
我TMD也是醉了