通过哈希码从内存中获取对象

Dee*_*wal 4 java jvm

我的问题与JVM的安全级别有关

我们如何通过证明哈希代码从内存中获取对象?

今天我在想.我在执行环境One中创建了一个A类对象.并从此处获取该对象的哈希码.

现在在另一个执行环境中,我希望通过提供哈希代码来返回A类对象.

我认为这是可能的.因为当我执行环境时.我一次又一次地得到JVM返回相同的哈希码.

意味着它首先在其缓存中找到对象.如果它得到参考,它只是返回它.


所以回过头来看,我们必须了解在写=时复制的数据.

  Object a=new Object();// here as we know reference of new object will be stored in refvar a.
Run Code Online (Sandbox Code Playgroud)

然后实际上是通过什么.

如果我们得到=(等于运算符)传递的数据.我们将能够从内存中获取对象.

谢谢

Pet*_*rey 6

我们如何通过证明哈希代码从内存中获取对象?

您无法访问JVM的内部.即使这样,您也需要扫描内存中的每个对象.除了具有相同hashCode的多个对象之外,您还会遇到此问题.顺便说一句:默认情况下,对象在你要求之前没有hashCode.

我认为这是可能的.因为当我执行环境时.我一次又一次地得到JVM返回相同的哈希码.

这只能起作用,因为您正在重新创建生成hashCode的确切条件,最轻微的更改,您将得到不同的hashCodes.

意味着它首先在其缓存中找到对象.如果它得到参考,它只是返回它.

通过it你的意思是缓存就需要维护,没有这样的高速缓存存在于JVM.

所以回过头来看,我们必须了解在写=时复制的数据.

Object a=new Object();// here as we know reference of new object will be stored in refvar a.
Run Code Online (Sandbox Code Playgroud)

然后实际上是通过什么.

正如你所说,参考文献已通过.没有其他的.