0
A
回答
1
不,HotSpot JVM不支持任何形式的對象鎖定,即使在JVM內部也是如此。
不要嘗試修改對象頭。否則JVM很有可能會崩潰。標題的內容可能會因JVM版本,參數和選定的GC算法而異。 JVM可以完全控制對象頭並且不準備進行外部更改。
+0
慚愧但謝謝!你有沒有關於這些話題的好的閱讀建議(其他的OpenJDK源代碼)。就像更新過的「Java虛擬機內部」一樣,它也包含了如何真正使用對象頭文件等細節。 –
+0
@HaasipSatang我不知道任何,對不起。我相信源代碼是最好的。通過這種方式,HotSpot JVM資源得到了很好的記錄。您還可以查找有關JVM內部結構的會議演示,例如[this one](https://www.infoq.com/presentations/hotspot-memory-data-structures)。 – apangin
相關問題
- 1. 修改對象的字段
- 2. 通過webpack/babel修改ES6源代碼中的對象
- 3. 通過引用修改Javascript對象
- 4. 通過引用修改smarty對象
- 5. 通過傳遞修改對象數組的特定對象成員
- 6. 通過僅傳遞屬性來修改JS對象的屬性?
- 7. 如何修改JSON對象的對象
- 8. 修改對象中的R
- 9. 通過Unity中另一個對象的旋轉來影響對象的位置
- 10. 如何修改Image對象的位置?
- 11. 原位修改特徵的LDLT對象
- 12. 通過掩碼標記檢測到的對象
- 13. 修改一個對象與修改該對象的副本
- 14. 修改現有的WCF通信對象
- 15. 對象是通過關節定位
- 16. 對象通過對象Box2d
- 17. 在迭代過程中修改對象
- 18. 固定值的對象
- 19. Android:更改定位對象後刪除的自定義對象
- 20. 使用字符串來定位對象
- 21. 修改os.stat對象
- 22. 修改jQuery對象
- 23. 修改JSON對象
- 24. C#對象修改
- 25. Javascript通過改變對象
- 26. 追加對象列表修改對象
- 27. +與numpy.array對象修改原始對象
- 28. 如何通過ajax修改webflow中的對象?
- 29. 通過外部類修改Slim 3中的響應對象
- 30. 修改對象的數組
直接緩衝區位於堆外,因此它們的內存不會被移動 – the8472
是的,但問題不在於在堆外部存儲某些內容。我真的很想知道是否有辦法(暫時)阻止對象被移動。 –
好吧,具有非移動GC的JVM會自動具有該行爲。並且一些JVM可能會將對象鎖定提供爲顯式特性。熱點沒有。 – the8472