在Eclipse中,“Class”之后的id是什么意思?

时间:2016-03-09 08:33:21

标签: java eclipse class

如下图所示:

c1  Class<T> (com.horstmann.corejava.Employee) (id=22)  

我很好奇这个id究竟意味着什么?我可以实际修改它吗?我想知道一些相关的事情。

2 个答案:

答案 0 :(得分:0)

这是一个不透明的内部(对JVM)标识符,对每个对象都是唯一的。您可以将其视为&#34;句柄&#34;对于实例。

您无法更改它,并且每次运行代码时,对于给定的对象实例,它可能会有所不同。

当您在调试器中单步调试代码并拥有许多类的实例时,它会很有用。您可以查看两个实例,并确定它们是否实际上是通过不同引用访问的同一实例。

答案 1 :(得分:0)

这样想。比如说,你有这个类的多个实例。在调试的情况下,此id可以是唯一标识符。

id由eclipse调试器任意分配。我最好的猜测是eclipse有某种类型的地图,比如IdentityHashMap<Object, Integer>,为每个对象分配一个唯一的整数。