cost 269 ms
Unsafe庫是如何幫助原子變量實現線程安全的?

[英]How does Unsafe library help atomic variables to achieve thread safety?

我一直在閱讀 web 篇關於比較和交換 (CAS) 如何在幕后工作的文章。 由於AtomicInteger、AtomicLong等原子變量都使用了JNI的“Unsafe”庫的compareAndSet()方法,但是當你go實際實現時,你會得到下面一個空白的類抽象方法,它並沒有告訴你compareA ...

zgc 日志中的 mmu 行是什么意思?

[英]What does the mmu line mean in zgc log?

在典型的詳細 zgc 日志中,mmu 行中這些數字的含義是什么? [gc,mmu ] GC(18939) MMU: 2ms/0.0%, 5ms/0.0%, 10ms/0.0%, 20ms/0.0%, 50ms/36.2%, 100ms/68.0% 我已經搜索並閱讀了幾頁,但在那一行仍然沒有任何表達 ...

為什么 java-11 version 命令顯示 java 18.x 作為輸出?

[英]Why does java-11 version command shows java 18.x as output?

為什么 java-11 版本命令將 java 18.x 顯示為輸出 - 第一行輸出符合預期 --> java 11.0.17 2022-10-18 LTS 為什么運行時和熱點版本 -> 18.9 關於內部組件的 Java 版本,似乎還有更多我應該知道的。 有人能指教一下嗎。 ...

OpenJDK 19 和壓縮指針

[英]OpenJDK 19 and compressed pointers

我很難理解壓縮指針在 Java 19 中的工作原理,感謝您的幫助。 在 Java 11 中,對於低於 32GiB(壓縮指針)的堆,引用大小為 4,對於更大的堆,引用大小為 8。 在 Java 19 中,即使對於更大的堆,它們似乎也占用 4 個字節(如何?)。 細節: Java 版本:OpenJDK ...

java.lang.System 和 Unsafe 的性能差異

[英]The performance difference between java.lang.System and Unsafe

System和Unsafe都提供了一些重疊的功能(例如, System.arraycopy與_UNSAFE.copyMemory )。 在實現方面,看起來兩者都依賴於jni ,這是正確的說法嗎? (我可以找到unsafe.cpp但在 JVM 源代碼中找不到相應的arraycopy實現)。 另外, ...

JITWatch 為 null 推出 TriView

[英]JITWatch Launching TriView for null

我試圖在 JITWatch 中運行我自己的類,但是,我似乎只能讓 sandbox/sources 文件夾中的 prepackaged.java 文件工作。 每次我在沙箱中運行自己的類時,我都會在控制台中得到以下信息: TriView window 然后打開,沒有任何顯示。 我嘗試通過將我的 JA ...

為什么 Jonker 的算法(標記壓縮)不需要額外的空間?

[英]Why Jonker's algorithm(mark-compaction) doesn't need extra space?

我正在從“垃圾收集手冊:自動內存管理的藝術”一書中學習標記壓縮算法。 對於 Lisp 2 算法,它說: Lisp 2 算法的主要缺點是它需要在每個對象頭中附加一個全槽字段來存儲對象要移動到的地址。 對於 Jonker 算法,它說: 線程需要在對象頭中有足夠的空間來存儲地址(如果需 ...

G1 不允許分配大的 object 而 Parallel 允許

[英]G1 does not allow to allocate large object while Parallel does

openjdk 11.0.14.1 2022-02-08 考慮以下簡單的 Java 程序。 這里int的大小為 4 字節,因此分配int[Integer.MAX_VALUE / 2]需要4G的空閑堆大小。 現在讓我們用不同的選項運行程序。 一、 -XX:+UseParallelGC -Xmx5g 結 ...

檢測“不應”與反射一起使用的構造函數

[英]Detect constructors that "should not" be used with reflection

我有以下 function: function 應該獲得 class 名稱(作為String ),加載它,如果找到與Object... args匹配的構造函數,則創建此類 object 的新實例。 此代碼有效,但它可能會在@HotSpotIntrinsicCandidate方法上被調用。 例如,如 ...

Java飛行記錄儀-連續滾動記錄

[英]Java Flight Recorder - Continuous rolling recording

問題如何以最大年齡將滾動記錄放入磁盤? 語境當我的服務器出現問題時,我希望能夠轉儲前幾個小時的分析信息並對其進行分析,以了解哪里出了問題。 由於我不知道 go 什么時候會壞,JDK 應該不斷地將事件保存到磁盤。 由於服務器不經常重新啟動,為了避免文件無限增長,我需要設置某種上限(年齡或大小)。 因此 ...

為什么Java HotSpot在一次調整大小后無法優化陣列實例(導致大量性能損失)?

[英]Why does Java HotSpot can not optimize array instance after one-time resizing (leads to massive performance loss)?

問題當fBuffer2在開始時僅調整一次大小( SELECT_QUICK = false )時,為什么在附加的代碼示例( SELECT_QUICK = true )中使用fBuffer1的速度是其他變體的兩倍? 代碼路徑完全相同,但即使在 10 分鍾后fBuffer2的吞吐量也不會增加到fBuff ...

Java 從 11.0.11 更新到 11.0.13 更改 JVM 代碼緩存行為並導致更多的進程 CPU 使用和奇怪的分析 nmethods ZCD69B4957F06CD818D7BFE3D19

[英]Java update from 11.0.11 to 11.0.13 changes JVM code cache behavior and results in more process cpu usage and strange profiled nmethods memory usage

我們使用 Java 11.0.11 和 -XX:ReservedCodeCacheSize=375m 運行一個復雜的集群應用程序,並且 24/7 連接相同的負載配置文件,無需重新啟動。 在我們將 AdoptOpenJDK jdk-11.0.11+9 更新為 Temurin jdk-11.0.13+ ...

在熱點JVM中,為什么CDS需要Compressed Oops?

[英]In Hotspot JVM, why CDS needs Compressed Oops?

我讀了這篇文章“https://malloc.se/blog/zgc-jdk15”,最后一個索引是關於Class Data Sharing 。 在這個指數中, 此功能(表示 CDS)僅在啟用壓縮 Oops 功能時有效(-XX:+UseCompressedOops)。 我對CDS和Compress ...

在簡單的情況下,例如 for-each 循環中的迭代器,Hotspot 中的逃逸分析有多脆弱

[英]how fragile is escape analysis in Hotspot in simple cases such as iterator in for-each loop

假設我有一個想要循環的 java.util.Collection。 通常我會這樣做: 但是假設這是在一些到處使用的核心實用方法中,並且在大多數地方,集合是空的。 那么理想情況下,我們不希望僅僅為了執行無操作循環而對每個調用者施加迭代器分配,我們可以重寫如下: 如果things是一個列表,一個更極端的 ...

如何停止 JVM 跳過循環

[英]How To Stop JVM Skipping Loop

我有自己的測試 class 應該在沒有 JVM 刪除任何內容的情況下進行計時。 將 Java 從 StrictMath.sin() 調用的本機與我自己的 100,000,000 次重復的示例測試時間進行比較: 30度 sineNative(): 18,342,858 ns (#1), 1,574, ...


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