怎样得到系统加装的所有Classloader呢

JavaGG 发布于 2010/03/31 17:55
阅读 337
收藏 0

最近发现,如果有二个classloader,类里的静态变量就可能会初始化二次

所以想找个方法,看看现在系统里已加装的所有Classloader

加载中
0
jazz
jazz

 不是吧,java加载器加载类的时候会依次向上询问是否已经加载

0
黄平俊
黄平俊

实现java.lang.instrument.ClassFileTransformer的接口

http://www.javalobby.org/java/forums/t19309.html   

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/instrument/Instrumentation.html#getAllLoadedClasses%28%29

http://www.ibm.com/developerworks/cn/java/j-jip/

0
红薯
红薯

引用来自“Jimmy”的帖子

实现java.lang.instrument.ClassFileTransformer的接口

http://www.javalobby.org/java/forums/t19309.html   

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/instrument/Instrumentation.html#getAllLoadedClasses%28%29

这里有很多限制,首先这个实现了 Instrumentation 接口的类必须先打到一个jar包里,然后要指定 MANIFEST.MF 内容为

Manifest-Version: 1.0 
Premain-Class: com.javalobby.tnt.instrument.SimpleMain

然后还得指定 Java 虚拟机参数  -javaagent:jarpath

似乎不太实用啊。

0
JavaGG
JavaGG

主要是,有时我用第三方的包,我不知他有没有自己的classloader,正在想通过什么方法去检查,他到底有没有自己的classloader

返回顶部
顶部