如何更改存储在java中的内存位置的值

时间:2013-11-19 04:02:17

标签: java

String val="Hello";
//blocks of code

int c=val.hashCode();  //say i get 101 as memory location.

说我不知道​​mem位置101的“val”是什么。我想在这个位置存储val =“abc”。如何使用内存位置附加val?这在Java中是否可行。

2 个答案:

答案 0 :(得分:2)

Java不允许直接操作内存位置。它构建为用户和实际内存之间的一层。

更不用说哈希码与内存地址无关。

Per @ ValekHalfHeart的评论我做了一个快速搜索,看起来有an API可用于不安全的操作(包括更改内存位置)。我没有这方面的经验,但它看起来像是一个后门去做你想要的。

请注意,Java是明确构建的,以便将所有这些内容抽象出来。毕竟试图使用它们会滥用你的工具。

答案 1 :(得分:0)

对你的问题的简短回答是“不”。 Java“保护”您不知道(或关心)对象的内存位置,分配,破坏等。

如果你喜欢那种东西,我可以建议你用C吗?这是一种备受诽谤的语言 - 但它对于那种“接近硅片”的编程非常有用。承担所有危险...