使用另一个Object的toString结果构造一个新的Object()

sin*_*ata 2 java memory-management object object-to-string

我想知道是否有可能获得一个Object的String值来访问同一台机器(相同的RAM)上的Object或通过该特定的String访问相同的VM.

例如

Object objA1 = new Object();
System.out.print(objA1.adress); => output: d146a6581ed9e
Object objExt = Object.buildFromMemoryAdress("d146a6581ed9e");
Run Code Online (Sandbox Code Playgroud)

我希望你明白我想要了解的内容.

编辑:我找到了

http://javapapers.com/core-java/address-of-a-java-object/#&slider1=1

一个允许我在(VM?)内存中获取实例逻辑地址字符串的类: sun.misc.Unsafe

我想我也可以使用Unsafe从(限制在VM?)内存中检索一个对象.

如果不可能这样,我将如何做,并且因为出于好奇,是否有其他语言(特别是高端)允许直接内存访问这样的?

NPE*_*NPE 5

假设您在toString()结果中看到的数字是内存地址是不正确的.

事实上,它是对象的哈希码.如果未修改对象,则其哈希码保持不变.但是,它的内存地址可以随时改变:压缩垃圾收集器可以决定在它感觉到的时候将对象移动到内存中.