国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運營 > Java 虛擬機逃逸分析

Java 虛擬機逃逸分析

時間:2023-06-29 04:48:01 | 來源:網(wǎng)站運營

時間:2023-06-29 04:48:01 來源:網(wǎng)站運營

Java 虛擬機逃逸分析:首先先說下為什么需要了解要逃逸分析,在哪里用到。Java堆區(qū)是一塊用于存儲對象實例的內(nèi)存區(qū),同時也是gc執(zhí)行垃圾回收的重點區(qū)域。所以這也造成gc可能會在大內(nèi)存的使用和頻繁進行垃圾回收過程上成為系統(tǒng)性能瓶頸。為了解決這個問題,jvn設(shè)計者開始考慮把對象實例存儲到Java堆區(qū)外。使用GCIH技術(shù),即將生命周期長的Java對象從heap中移動到heap外,并且gc不能管理GCIH內(nèi)部的對象。因此達到降低GC的回收頻率和提升GC的回收效率的目的。 而另一種方法,就是逃逸分析了。它也是降低GC的回收頻率和提升GC的回收效率的有效方式。 逃逸分析(Escape Analysis)是目前Java虛擬機中比較前沿的優(yōu)化技術(shù)。 逃逸分析的基本行為就是分析對象動態(tài)作用域:當(dāng)一個對象在方法中被定義后,它可能被外部方法所引用,例如作為調(diào)用參數(shù)傳遞到其他地方中,稱為方法逃逸。

例如:

Java 虛擬機逃逸分析
StringBuffer sb是一個方法內(nèi)部變量,上述代碼中直接將sb返回,這樣這個StringBuffer有可能被其他方法所改變,這樣它的作用域就不只是在方法內(nèi)部,雖然它是一個局部變量,稱其逃逸到了方法外部。甚至還有可能被外部線程訪問到,譬如賦值給類變量或可以在其他線程中訪問的實例變量,稱為線程逃逸。上述代碼如果想要StringBuffer sb不逃出方法,可以這樣寫

Java 虛擬機逃逸分析
不直接返回 StringBuffer,那么StringBuffer將不會逃逸出方法。轉(zhuǎn)載至——明辰智航

關(guān)鍵詞:分析,虛擬,逃逸

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉