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?)内存中检索一个对象.
如果不可能这样,我将如何做,并且因为出于好奇,是否有其他语言(特别是高端)允许直接内存访问这样的?
假设您在toString()结果中看到的数字是内存地址是不正确的.
事实上,它是对象的哈希码.如果未修改对象,则其哈希码保持不变.但是,它的内存地址可以随时改变:压缩垃圾收集器可以决定在它感觉到的时候将对象移动到内存中.