JVM參數(shù)分享 OmitStackTraceInFastThrow

簡(jiǎn)書(shū) 占小狼
轉(zhuǎn)載請(qǐng)注明原創(chuàng)出處,謝謝!

很久沒(méi)有寫(xiě)文章了,最近在搗鼓一個(gè)穩(wěn)定性保障組件,代號(hào)Rhino(犀牛),其中包含了熔斷降級(jí)、服務(wù)限流、資源隔離、故障演練和緩存等功能,熔斷降級(jí)類(lèi)似于開(kāi)源的Hystrix,但相比較而言更加的輕量,更加的容易接入,配合管理端可以實(shí)現(xiàn)參數(shù)的可視化實(shí)時(shí)修改

...扯遠(yuǎn)了!

今天分享一個(gè)比較冷門(mén)的JVM參數(shù) OmitStackTraceInFastThrow

這是HotSpot VM專(zhuān)門(mén)針對(duì)異常做的一個(gè)優(yōu)化,稱(chēng)為fast throw,當(dāng)一些異常在代碼里某個(gè)特定位置被拋出很多次的話(huà),HotSpot Server Compiler(C2)會(huì)用fast throw來(lái)優(yōu)化這個(gè)拋出異常的地方,直接拋出一個(gè)事先分配好的、類(lèi)型匹配的對(duì)象,這個(gè)對(duì)象的message和stack trace都被清空。

可以明確:拋出這個(gè)異常非???,不用額外分配內(nèi)存,也不用爬棧。

副作用:正好是需要知道哪里出問(wèn)題的時(shí)候看不到stack trace了,不利于排查問(wèn)題。

如果遇到?jīng)]有stack trace的問(wèn)題,可以考慮通過(guò) -XX:-OmitStackTraceInFastThrow 禁用該默認(rèn)的優(yōu)化

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、認(rèn)識(shí)Hystrix Hystrix是Netflix開(kāi)源的一款容錯(cuò)框架,包含常用的容錯(cuò)方法:線(xiàn)程池隔離、信號(hào)量隔...
    新棟BOOK閱讀 4,260評(píng)論 0 19
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評(píng)論 19 139
  • //Clojure入門(mén)教程: Clojure – Functional Programming for the J...
    葡萄喃喃囈語(yǔ)閱讀 4,050評(píng)論 0 7
  • 看到朋友在微信朋友圈里發(fā)的一條說(shuō)說(shuō):咱們認(rèn)識(shí)幾年了?并配了一張圖片上寫(xiě)著:2017年最溫馨話(huà)題“咱們認(rèn)識(shí)幾年...
    小魚(yú)兒的寫(xiě)字臺(tái)閱讀 708評(píng)論 0 5
  • 清明三天假 回家小憩 偶然翻到表哥的書(shū) 拿住便不能丟下 正是這本《嫌疑人》 最近東野圭吾可以說(shuō)在青年小說(shuō)圈里越來(lái)越...
    妮敏lmm閱讀 309評(píng)論 0 0

友情鏈接更多精彩內(nèi)容