[英]UseCompressedOops UseCompressedClassPointers in jdk-13 and jdk-15
意外地,我偶然發現了jdk-15的一個我不知道的變化。 假設我有一個非常簡單的問題:3 個整數數組的大小是多少? 為此,我使用JOL 。 代碼相當簡單: 我用jdk-13運行它: 我得到 output: 這很明顯: 使用jdk-15運行此示例會產生相同的 output, same 32 bytes ...
[英]UseCompressedOops UseCompressedClassPointers in jdk-13 and jdk-15
意外地,我偶然發現了jdk-15的一個我不知道的變化。 假設我有一個非常簡單的問題:3 個整數數組的大小是多少? 為此,我使用JOL 。 代碼相當簡單: 我用jdk-13運行它: 我得到 output: 這很明顯: 使用jdk-15運行此示例會產生相同的 output, same 32 bytes ...
[英]Why does the object call toString() affect the output of the object header? I am using the jol package
L的代碼很簡單 取消注釋,再次運行代碼會導致不同的結果,或者兩個完全不同的結果。 我想知道這個結果的原因是什么? 不僅調用 toString() 會影響結果,在 object 上調用其他方法也會影響結果,例如 hashCode() ...
[英]OpenJ9 VM Object Layout
OpendJDK具有Java對象布局(JOL)工具,該工具可以估計指定對象的實例實際內存大小。 它可以顯示HotSpot的對象布局,但是在OpenJ9中會一樣嗎? ...
[英]Java primitive array layout in memory
以下是我想根據我的問題提出的兩個樣本(假設你在這里有JOL ): 並使用此示例: 這是兩個輸出: 我主要理解輸出,我不知道的是這些是什么: 一般來說,對象是8 bytes對齊的,那么為什么需要添加比所需更多的填充? 我知道一些奇怪的東西, 第一個與JOL正在 ...
[英]Why is there internal fragmentation in a Java object even if every field is 4-byte aligned?
介紹: 我使用JOL(Java對象布局)工具來分析Java對象的內部和外部碎片以用於研究目的。 在這樣做時,我偶然發現了以下內容: 題: 在這種情況下困擾我的是每個字段都是4字節對齊的(參見OFFSET列),但仍然在偏移56處添加了對齊間隙( 56 8 (alignme ...
[英]Why VisualVm and JOL tools give different results for object size
我試圖測量 A 類的一個實例的大小: 使用 VisualVm 的結果是 20 字節: 但是使用 JOL 的結果是 16 個字節: 這是我用於此測試的完整代碼: 我是否濫用了這個工具或誤解了它的結果? 我希望這兩種工具都能得到相同的結果。 ...
[英]How to run jol on Java 9?
我正在嘗試使用jol和Java 9運行程序,但沒有運氣。 我在pom.xml有以下依賴項: 該計划很簡單: 模塊描述符: 當我從IDEA運行程序時,我看到以下輸出: 我將-Djdk.attach.allowAttachSelf=true添加到IDEA中的VM ...
[英]Is jol a little broken under Java9?
使用java-9構建9-ea + 149和jol 0.6 。 運行以下簡單代碼: 輸出: 此訪問被拒絕的部分來自FieldData.java中的方法: 實際的例外是: 無法使受字段保護的瞬態int java.util.AbstractList.modCou ...
[英]Pinning an object by modifying bits in mask word of object header
我想知道是否可以通過自己設置對象標頭的標記字中的一位來防止對象被GC移動(試圖欺騙GC)。 因此,基本上我想知道是否可以通過這種方式確保標記的對象始終具有相同的內存地址。 ...
[英]Trying to understand the footprint of ArrayList in JOLSample_16_AL_LL
這是有關代碼的鏈接-http://hg.openjdk.java.net/code-tools/jol/file/07087260ce41/jol-samples/src/main/java/org/openjdk/jol/samples/ JOLSample_16_AL_LL.java ...
[英]Using string vs byte[] as value, Memory usage in map
我在多個地方閱讀過它,使用byte []而不是string可以節省您的內存。 我想用jol進行測試。 這是我的測試: 這是我的結果: 如您所見,StrByteMap和StrStrMap之間的內存使用情況幾乎相同。 我在這里測試錯了嗎? 更新 :請參閱下面的@Amo ...
[英]Is jol missing the main property in the MANIFEST file?
我正在嘗試使用來自openJDK的jol。 我從這里下載了jar: http://central.maven.org/maven2/org/openjdk/jol/jol-cli/0.4/jol-cli-0.4.jar 但是,當我嘗試運行時: java -jar jol-cli ...
[英]What is “(something else)” in jol GraphLayout output?
當使用jol的GraphLayout類打印從對象實例引用的對象的圖形時,一些輸出條目說“(別的)”而不是類型和引用路徑。 例如,請考慮以下代碼打印20個隨機Integer對象列表的圖形: 此代碼打印: 在DuckDuckGo和Google上搜索jol "something el ...
[英]Java object layout and static fields
JOL工具可以計算對象的內存布局。 我注意到,靜態字段不參與計算,例如: 然后, 給出以下輸出: private static final int在內存中的位置是什么? ...
[英]How to interpret an instance's mark word?
我試圖理解 64 位 HotSpot VM (v8) 上Java 對象布局的輸出。 我不明白如何使用標記詞的前三位,根據鏈接類文件中的注釋,它應該表明在實例上設置了偏向鎖或非偏向鎖。 當我使用 JOL 分析Object實例時 我得到以下輸出: 從HotSpot 對標記字(前 8 個字節) ...
[英]What is in Java object header?
你能給我一些關於對象頭中究竟存儲了什么的信息嗎? 我知道,它可能依賴於 JVM,但至少對於 HotSpot 來說可能? 我正在尋找專門針對第一行的確切描述。 我已經閱讀了一些無法用我找到的信息進行正面驗證的信息。 也許你有一個指向 OpenJDK wiki 的鏈接,它說明了一切? ...
[英]How are Java objects laid out in memory on Android?
我非常熟悉HotSpot中堆上對象的布局,但對於Android來說並不是那么多。 例如,在32位HotSpot JVM中,堆上的對象實現為8字節頭,后跟對象的字段( boolean值為一個字節,引用為4個字節,其他所有內容均為預期值),以某種特定順序出現(對超類中的字段有一些特殊規則),並 ...