相关疑难解决方法(0)

Java反射:如何获取变量的名称?

使用Java Reflection,是否可以获取局部变量的名称?例如,如果我有这个:

Foo b = new Foo();
Foo a = new Foo();
Foo r = new Foo();
Run Code Online (Sandbox Code Playgroud)

是否可以实现一个可以找到这些变量名称的方法,如下所示:

public void baz(Foo... foos)
{
    for (Foo foo: foos) {
        // Print the name of each foo - b, a, and r
        System.out.println(***); 
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:这个问题不同于Java有没有办法找到传递给函数的变量的名称?因为它更纯粹地询问关于是否可以使用反射来确定局部变量的名称的问题,而另一个问题(包括接受的答案)更侧重于测试变量的值.

java reflection

132
推荐指数
5
解决办法
23万
查看次数

是否有一种简单的方法可以在Java中获取特定类的所有对象实例

目前我正在使用Java代理来组装内存统计信息.在instrumentation API的帮助下,我可以获得类(并操纵它们).使用普通Java,我可以估计每个对象使用的资源.到现在为止还挺好.

我现在面临的问题是"如何掌握特定类的每个Object实例".我可以进行字节代码操作以获取对象实例,但我希望有另一个我不知道的API,帮助我实现我的目标,没有这么大的侵入性步骤.最后,应将性能影响保持在最低限度.有任何想法吗?

java profiling jvm

17
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×2

jvm ×1

profiling ×1

reflection ×1