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

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

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

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

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

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

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


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

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

然后实际上是通过什么。

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

谢谢

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

您无法访问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. 

然后实际上是通过什么。

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

我想这是无关紧要的,因为哈希码可能与内存地址有关,也可能与内存地址无关

通常,每个JVM都有自己的内存堆栈,因此是否可以从其他JVM访问对象取决于JVM实现,我想这很少可能。