簡體   English   中英

在Java中查看內存中特定位置的字節

[英]View bytes at specific place in memory in Java

在CI可能會說

printf("%p",0x11194);
*((int *) 0x11194) = 30240;

(在這個例子中,我知道該內存位置有一個整數)

請告訴我,我將如何在Java中做同樣的事情? 順便說一下,我可能完全誤解了記憶的運作方式

可以使用sun.misc.UnsafeByteBuffer在Java中執行此操作。

但是,對於正常的Java使用,您根本不會這樣做。 Java將為您提供一個對象引用,它是對象的句柄。 它沒有指向內存中的一個位置(JVM可以在你不知道/關心的情況下移動內存中的對象)並且你不能對它們執行算術(與指針不同)

你沒有誤解記憶的運作方式; 你只是假設Java會讓你觸摸它。 它不會。 內存和指針仍然存在,但必須通過適當的對象創建和去引用來訪問,而不是直接指針內存訪問。

從好的方面來說,你不必擔心釋放你不再需要的記憶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM