gpt4 book ai didi

java - 获取运行 Java 应用程序时使用的所有类的列表?

转载 作者:搜寻专家 更新时间:2023-10-31 08:16:16 24 4
gpt4 key购买 nike

获取运行 Java 应用程序时使用的所有类的列表的最简单方法是什么?

假设 com.package.Foo.main 是通过运行调用的:

java com.package.Foo

运行程序后,我想要一个在运行程序时使用的所有类的列表:

cat classes-used.txt
com.package.Foo
com.package.FooHelper
com.otherpackage.SomeClass
java.lang.String
java.util.List
java.util.ArrayList

在此上下文中,如果类已在程序执行期间由类加载器加载,并且如果存在此类静态 block ,则该类的静态 block 将被运行,则该类被定义为正在使用。

最佳答案

使用标志 verbose:class 运行 java

java -verbose:class com.package.Foo

将其附加到文件中:

java -verbose:class com.package.Foo > classes-used.txt

它还列出了定义这些文件的 jar:

比如这个类

public class Test {
public static void main( String [] args ) {
}
}

我有(除其他外)

$ java -verbose:class Test [Opened /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar][Opened /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar][Opened /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar][Opened /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar][Opened /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar][Opened /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar][Loaded java.lang.Object from shared objects file][Loaded java.io.Serializable from shared objects file][Loaded java.lang.Comparable from shared objects file][Loaded java.lang.CharSequence from shared objects file][Loaded java.lang.String from shared objects file][Loaded java.lang.reflect.GenericDeclaration from shared objects file][Loaded java.lang.reflect.Type from shared objects file][Loaded java.lang.reflect.AnnotatedElement from shared objects file][Loaded java.lang.Class from shared objects file][Loaded java.lang.Cloneable from shared objects file][Loaded java.lang.ClassLoader from shared objects file][Loaded java.lang.System from shared objects file]

关于java - 获取运行 Java 应用程序时使用的所有类的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1522329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com