在CLASSPATH中使用未使用的JAR文件的影响

Gna*_*nam 8 java performance jar classpath

我在这里阅读了很多有关可用于查找未使用的 JAR的工具的问答,例如:

  1. loosejar
  2. Classpath Helper

我的问题是,在编译时或运行时在类路径中有未使用的JAR是否有任何影响(例如将类加载到内存,性能等)?问题适用于作为独立程序运行和Web服务器(Apache Tomcat),尽管我最初只考虑独立程序.

注意:我正在运行JDK 6u32(64位).

Ste*_*n C 8

在编译时或运行时是否在类路径中使用未使用的JAR会产生任何影响(例如将类加载到内存,性能等)?

会产生很小的影响.当类加载器(或编译器的等价物)启动时,它必须读取每个JAR文件的索引以找出每个JAR中的类.如果类路径上有不必要的JAR,则类加载器还有更多工作要做,并且(至少暂时)会使用更多内存来缓存索引.

这适用于各种Java应用程序.

你没有问的问题是影响是否显着.答案是"一般都不"......但是你在类路径上的"无用的东西"越多,影响就越大.