在我的程序中,我想拦截由ClassLoader加载的类,并对其进行一些处理。检查某些注释等。我该怎么做?

我已经在网上做了很多研究,但是还没有得到答案。我应该重写ClassLoader吗?这样做的问题是,在大多数情况下,父ClassLoader可以加载该类,所以我将无法获得所有类。在该站点上的几个问题上,我看到提到了Instrumentation,但我不知道这是否与我的问题有关。

最佳答案

您可以使用Java代理进行监视:

API doc:http://docs.oracle.com/javase/6/docs/api/java/lang/instrument/ClassFileTransformer.html

例:

http://www.informit.com/guides/content.aspx?g=java&seqNum=589

10-02 02:39
查看更多