jdk1.6的类加载比1.5慢

我测的是jdk1.6_update21,下面是拿eclipse启动作为测试的例子,使用的是同一个eclipse,2次测试就在eclipse.ini改了jvm路径,其他不变。已经反复启动过多次确保避免操作系统磁盘缓存的因素。

测1.6时已经把-XX:-UseSplitVerifier关闭掉1.6的新类型推断(不过这个开着关着没啥影响,eclipse又不是用1.6编的),根据-XX:+TraceClassLoading的输出,使用两个jdk加载的类是一致的,两个jdk测试的时候类共享都是auto的(默认值:-Xshare:auto),从TraceClassLoading的输出也能看出类共享是起作用的。解释不了为何两者有100%左右的性能差距?我机器上测试多次都是如此,不知道是我的机器还是普遍现象。是统计口径两者不一至,还是性能确实有差距?

C:/Users/Thinkpad>jps
3552
6372 org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
6900 Jps

C:/Users/Thinkpad>jstat -class 6372
Loaded  Bytes  Unloaded  Bytes     Time
  7917 10190.3        0     0.0       8.18

C:/Users/Thinkpad>jps
3552
7272 Jps
7216 org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar

C:/Users/Thinkpad>jstat -class 7216
Loaded  Bytes  Unloaded  Bytes     Time
  7902  9691.2        3     2.6       4.34

 

本文转自www.35java.com

你可能感兴趣的:(jdk1.6的类加载比1.5慢)