我对JVM上的对象的对象ID有疑问。即假设我已经持久化了在JVM1上创建的对象,现在我想在JVM2上使用相同的对象。
感谢。
答案 0 :(得分:3)
在反序列化之前,JVM2上不存在该对象。 Java中没有“通用对象ID”的概念 - 如果您需要对象的ID,则必须自己添加它。您可以向对象添加UUID字段;然后你想要保留某种缓存,以便你发现重复。
你真的确定你需要这一切吗?可能值得再看一下大局并重新设计。
答案 1 :(得分:2)
查看序列化here,或者您也可以使用RMI - check out this link
我不太确定Object Id是什么意思,如果你指的是打印出没有toString方法的对象时打印出的引用,那么这不是对象ID,这是内存地址引用和将在每个JVM上有所不同,并且在同一程序的不同调用中会有所不同。
答案 2 :(得分:2)
您可以向对象添加UUID以创建唯一ID。
UUID uuid = UUID.randomUUID();