java - Java 中是否有与 PHP 的 get_declared_classes() 等效的函数?

标签 java php class object instantiation

我正在寻找一种方法来打印 Java 中的所有实例化对象。 PHP 有一个简单的方法,使用 get_declared_classes() :

<?php
print_r(get_declared_classes());
?>

Java 中是否有类似的工具,其工作方式与 PHP 中一样简单?

最佳答案

Java 中的类加载是通过类加载器完成的,因此您只能希望通过给定的类加载器加载所有类。请注意,一个类可能会被不同的类加载器加载,甚至可能会被不同的类加载器以不同的版本加载。

如果您想了解单个类加载器加载了哪些类,请查看 How can I list all classes loaded in a specific class loader

一个简单的解决方案可能是

Field f = ClassLoader.class.getDeclaredField("classes");
f.setAccessible(true);

Vector<Class> classes =  (Vector<Class>) f.get(classLoader);

但这取决于 Sun 的实现情况,对于其他供应商可能会失败。

关于java - Java 中是否有与 PHP 的 get_declared_classes() 等效的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27036499/

相关文章:

java - Eclipse Juno 上的独立 OSGi (Equinox) 服务器

java - 为什么opennlp库的HelloWorld在Java上工作正常,但在Jruby上却不工作?

php - Wordpress:自动更改 the_content 部分中的 URL

PHP/MYSQL 我做错了什么

php - 在社交引擎中更改管理员帐户的字体颜色

ios - 防止重复输入消息

java - 如何在 GWT 中检查 ROOTPanel 上当前添加的类

Java——对象的创建和可见性

java - 将 java 文件导入 jsp - 无法解析为类型错误

c++ - 错误 : redefinition of default parameter : parameter 3 but not redefining?