作者meconin (miss you ~)
看板java
标题[问题] Memory Dump / Get Class Binary in Runtime
时间Thu Nov 3 16:43:42 2011
各位高手、先进们,
在 Java 中是否有可能取得已经被 loader 载入的 class 的 binary ?
如果换掉 system loader 当然是可以在 override findClass 时,把 binary 拿到
但现在不能这样做,是否还有其他方法?
我也试过 serialize,但是只要 package 跟 class name 一样,结果就会一样
不管把那个 class 搞得多复杂都是一样的一些 byte[]
我也是过去抓档案的方式,在 stackTrace 上,找到原始档案(.class, .jar ... etc)
可是被 load 进去之後,这个档案 (.class, .jar ... etc) 就可以被删掉
所以也不能保证取得正确的 binary ...
难道真的要用 native 去爬 Thread 跟 Process 的 context 才有可能?!!!
感激不尽
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.46
1F:→ sbrhsieh:Instrumentation, java.lang.instrument package 11/03 21:16
2F:→ meconin:感谢,very useful 11/03 22:56
3F:→ luoqr:java assist 11/05 11:57