Java 详细类加载
我正在尝试列出 Java 类加载器加载我的类的顺序.如果我使用 -verbose
参数,它将列出它加载的每个接口/类,包括大量接口,如可序列化、异常等.有没有办法调整这个输出,所以它只显示哪些类是加载在我的主方法定义的类中?
I am trying to list the order in which the Java class loader is loading my classes. if I use -verbose
parameter it will list every single interface/class it loads, including tons of interfaces such as Serializable, exceptions etc. Is there a way to tweak this output so it only shows which classes are loaded in the class my main method is defined?
推荐答案
我想你最好的办法是做以下事情:
I guess your best bet is to do the following:
- 在您的
main
方法开始后和结束之前输出一些固定文本. - 将 verbose 输出通过管道传输到文件中
- 使用 less 或 grep 之类的东西从 main 方法中查找加载在两个标签之间的类.
- Output some fixed text once your
main
method starts and right before it ends. - Pipe the verbose output into a file
- Use things like less or grep to find the classes loaded between the two tags from the main method.
这里有一个类似的问题和一些答案:有没有办法获取 ClassLoader 加载了哪些类?
There's a similar question and some answers here: Is there a way to get which classes a ClassLoader has loaded?
您尝试过 -verbose:class
吗?
相关文章