STW,即Stop-The-World的縮寫,指的是系統在執行特定操作時需暫停(停止)所有應用程序線程。
有提到過(如圖)。
圖片
提到過(如圖):
圖片
所謂的STW,在Java中,當需要執行垃圾回收時,垃圾回收器會停止應用程序的所有線程,以便安全地識別和回收不再使用的對象。這個過程被稱為“Stop The World”。
STW事件會暫時中斷應用程序的運行。對于需要高響應性或實時性能的應用程序,這可能引發性能問題,因為它會導致響應延遲。
在STW期間,應用程序的響應時間(RT)和吞吐量(QPS)都會受到影響,這可能導致性能表現的不確定性,特別是在負載較高的情況下。
為了減少STW帶來的影響,需要對垃圾收集器的配置進行優化,例如選擇不同類型的垃圾收集器、調整堆大小或其他垃圾收集器參數。
例如,選擇并發回收器作為垃圾回收器,如CMS、G1等,因為并發回收器主要關注的是減少STW的時長。它允許垃圾收集線程在應用程序線程運行的同時執行部分垃圾收集工作,從而減少了STW的時間。在并發回收期間,只會在特定的收集階段發生短暫的STW。
關于Java虛擬機的垃圾收集器可參考文章
帶你走近Java虛擬機到底有哪些經典的垃圾收集器
除了垃圾收集(GC)中的STW事件之外,STW這個術語在其他上下文中也可能被引用。
舉例來說:
本文鏈接:http://www.tebozhan.com/showinfo-26-83635-0.html面試官追問的STW,到底什么是STW?有什么影響?
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 你了解Java中的猴子補丁技術嗎?