线程1和线程2同时通过反射获取A类的a方法,那么线程1和线程2获取到的方法在内存中哪块?线程1和线程2获取到的方法地址是相同的吗?
一个类里面的方法在内存中只有一份,我们通过反射获取到的Method对象是对实际方法的包装。
堆中,地址不相同。
java 类的元数据在内存只存在一份,放在 Permanent Generation space 中,反射出来的方法、字段也只有一份。
15 回答8.4k 阅读
8 回答6.3k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
1 回答2.1k 阅读✓ 已解决
2 回答12.9k 阅读✓ 已解决
2 回答6.7k 阅读
1 回答3.6k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
一个类里面的方法在内存中只有一份,我们通过反射获取到的Method对象是对实际方法的包装。