gpt4 book ai didi

java - 使用另一个对象的 toString 结果构造一个 new Object()

转载 作者:行者123 更新时间:2023-12-02 15:44:44 29 4
gpt4 key购买 nike

我想知道是否可以获取对象的某些字符串值,以通过该特定字符串访问同一台计算机(相同 RAM)或同一虚拟机上的该对象。

例如

Object objA1 = new Object();
System.out.print(objA1.adress); => output: d146a6581ed9e
Object objExt = Object.buildFromMemoryAdress("d146a6581ed9e");

我希望你能理解我想要理解的内容。

编辑:我发现

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

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

我想我还可以使用 Unsafe 从(仅限于虚拟机?)内存中检索对象。

如果不可能这样,我会怎么做,因为出于好奇,是否有其他语言(尤其是高端语言)允许像这样直接内存访问?

最佳答案

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

它实际上是对象的哈希码。如果对象没有被修改,它的哈希码保持不变。然而,它的内存地址可以随时改变:压缩垃圾收集器可以决定在任何需要的时候移动内存中的对象。

关于java - 使用另一个对象的 toString 结果构造一个 new Object(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8907147/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com