国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区

當(dāng)前位置:首頁 > 科技  > 軟件

解決 Java 打印日志吞異常堆棧的問題

來源: 責(zé)編: 時間:2023-09-18 21:40:35 370觀看
導(dǎo)讀前幾天有同學(xué)找我查一個空指針問題,Java 打印日志時,異常堆棧信息被吞了,導(dǎo)致定位不到出問題的地方。現(xiàn)象捕獲異常打印日志的代碼類似這樣:try { // ...} catch (Exception e) { log.error("系統(tǒng)異常 customerCode:

前幾天有同學(xué)找我查一個空指針問題,Java 打印日志時,異常堆棧信息被吞了,導(dǎo)致定位不到出問題的地方。a0828資訊網(wǎng)——每日最新資訊28at.com

a0828資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)象

捕獲異常打印日志的代碼類似這樣:a0828資訊網(wǎng)——每日最新資訊28at.com

try {    // ...} catch (Exception e) {    log.error("系統(tǒng)異常 customerCode:{},data:{}", customerCode, data, e);    // ...}

查到的日志是這樣的:a0828資訊網(wǎng)——每日最新資訊28at.com

2023-06-26 11:11:11.111 ERROR 1 --- [pool-1-thread-1] c.mazhuang.service.impl.TestServiceImpl  : 系統(tǒng)異常 customerCode:123,data:{"name":"mazhuang","age":18}java.lang.NullPointerException: null

異常堆棧丟了。a0828資訊網(wǎng)——每日最新資訊28at.com

分析

在之前的一篇文章里已經(jīng)驗證過這種寫法是可以正常打印異常和堆棧信息的:AI 自動補(bǔ)全的這句日志能正常打印嗎?a0828資訊網(wǎng)——每日最新資訊28at.com

再三確認(rèn)代碼寫法沒問題,納悶之下只好搜索了一下關(guān)鍵詞「Java異常堆棧丟失」,發(fā)現(xiàn)了這篇文章:Java異常堆棧丟失的現(xiàn)象及解決方法,這里面提到的問題與我們遇到的一樣,而且給出了 Oracle 官方文檔里的相關(guān)說明:a0828資訊網(wǎng)——每日最新資訊28at.com

https://www.oracle.com/java/technologies/javase/release-notes-introduction.htmla0828資訊網(wǎng)——每日最新資訊28at.com

The compiler in the server VM now provides correct stack backtraces for all “cold” built-in exceptions. For performance purposes, when such an exception is thrown a few times, the method may be recompiled. After recompilation, the compiler may choose a faster tactic using preallocated exceptions that do not provide a stack trace. To disable completely the use of preallocated exceptions, use this new flag: -XX:-OmitStackTraceInFastThrow.a0828資訊網(wǎng)——每日最新資訊28at.com

a0828資訊網(wǎng)——每日最新資訊28at.com

大致意思就是說,為了提高性能,JVM 會針對一些內(nèi)建異常進(jìn)行優(yōu)化,在這些異常被某方法多次拋出時,JVM 可能會重編譯該方法,這時候就可能會使用不提供堆棧信息的預(yù)分配異常。如果想要完全禁用預(yù)分配異常,可以使用 -XX:-OmitStackTraceInFastThrow 參數(shù)。a0828資訊網(wǎng)——每日最新資訊28at.com

了解到這個信息后,翻了翻從服務(wù)上次發(fā)版以來的這條日志,果然最早的十幾次打印是有異常堆棧的,后面就沒有了。a0828資訊網(wǎng)——每日最新資訊28at.com

解決方案

回溯歷史日志,找到正常打印的堆棧信息,定位和解決問題;a0828資訊網(wǎng)——每日最新資訊28at.com

也可以考慮在 JVM 參數(shù)里加上 -XX:-OmitStackTraceInFastThrow 參數(shù),禁用優(yōu)化;a0828資訊網(wǎng)——每日最新資訊28at.com

本地復(fù)現(xiàn)

在本地寫一個簡單的程序復(fù)現(xiàn)一下:a0828資訊網(wǎng)——每日最新資訊28at.com

public class StackTraceInFastThrowDemo {    public static void main(String[] args) {        int count = 0;        boolean flag = true;        while (flag) {            try {                count++;                npeTest(null);            } catch (Exception e) {                int stackTraceLength = e.getStackTrace().length;                System.out.printf("count: %d, stacktrace length: %d%n", count, stackTraceLength);                if (stackTraceLength == 0) {                    flag = false;                }            }        }    }    public static void npeTest(Integer i) {        System.out.println(i.toString());    }}

不添加 -XX:-OmitStackTraceInFastThrow 作為 JVM 參數(shù)時,運行結(jié)果如下:a0828資訊網(wǎng)——每日最新資訊28at.com

...count: 5783, stacktrace length: 2count: 5784, stacktrace length: 2count: 5785, stacktrace length: 0Process finished with exit code 0

在我本機(jī)一般運行五六千次后,會出現(xiàn)異常堆棧丟失的情況。a0828資訊網(wǎng)——每日最新資訊28at.com

添加 -XX:-OmitStackTraceInFastThrow 作為 JVM 參數(shù)時,運行結(jié)果如下:a0828資訊網(wǎng)——每日最新資訊28at.com

...count: 3146938, stacktrace length: 2count: 3146939, stacktrace length: 2count: 3146940, stacktrace length: Process finished with exit code 137 (interrupted by signal 9: SIGKILL)

運行了幾百萬次也不會出現(xiàn)異常堆棧丟失的情況,手動終止程序。a0828資訊網(wǎng)——每日最新資訊28at.com

完整源碼見:https://github.com/mzlogin/java-notes/blob/master/src/org/mazhuang/StackTraceInFastThrowDemo.javaa0828資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.rrqrq.com/showinfo-26-10425-0.html解決 Java 打印日志吞異常堆棧的問題

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python中30個常見的內(nèi)置函數(shù)使用講解(一)

下一篇: 【Python入門】為什么這門編程語言如此受歡迎?

標(biāo)簽:
  • 熱門焦點
Top 国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区
久久久久久免费| av不卡免费电影| 韩国精品在线观看| 免费中文字幕日韩欧美| 精品毛片乱码1区2区3区| 五月激情六月综合| 亚洲国产精品毛片| 久久综合九色欧美综合狠狠| 亚洲免费看黄网站| 伊人精品成人久久综合软件| 国产日韩欧美高清| 亚洲主播在线观看| 亚洲一二三区精品| 欧美国产一区二区在线观看| 麻豆91精品91久久久的内涵| 91国偷自产一区二区开放时间| 国产精品久久久99| wwww国产精品欧美| 久久久久久自在自线| 亚洲色图第一区| 国产乱人伦精品一区二区| 亚洲自拍偷拍图区| 亚洲一区二区动漫| 免费高清成人在线| 色香蕉成人二区免费| 一区二区三区四区激情| 性感少妇一区| 色综合久久六月婷婷中文字幕| 日韩精品国产精品| 欧美另类videos死尸| www.色综合.com| 亚洲综合丝袜美腿| 欧美一区二区网站| 亚洲承认在线| 亚洲欧洲一区| 国产精品一区二区不卡| 国产亚洲综合色| 欧美日韩亚洲综合在线| 成人午夜视频在线| 亚洲一区电影777| 精品国产区一区| 亚洲欧美国产精品桃花| 99视频精品| 奇米一区二区三区| 久久九九99视频| 久久一本综合频道| 色综合久久综合网97色综合| 亚洲18色成人| 久久久www免费人成精品| 激情欧美一区| 成人激情动漫在线观看| 亚洲午夜久久久久久久久电影院 | 欧洲中文字幕精品| 国产日韩一区二区| 亚洲国产日韩欧美| 欧美视频官网| 欧美另类专区| 欧美.日韩.国产.一区.二区| 成人黄色在线看| 国产不卡视频一区| 国产精品一区二区在线播放| 久久99国产精品麻豆| 精品一区二区三区免费| 极品少妇一区二区三区精品视频| 青青青爽久久午夜综合久久午夜| 亚洲福中文字幕伊人影院| 亚洲成人福利片| 国产精品成人免费 | 免费黄网站欧美| 丝袜诱惑制服诱惑色一区在线观看| 国产精品久久精品日日| 中文字幕一区av| 亚洲人成亚洲人成在线观看图片| ...中文天堂在线一区| 国产精品第13页| 免费成人在线影院| 秋霞午夜鲁丝一区二区老狼| 亚洲女性喷水在线观看一区| 国产欧美一区二区在线| 欧美日韩高清一区二区不卡| 91精品国产全国免费观看| 91麻豆精品久久久久蜜臀 | 成人高清免费在线播放| 99精品视频免费全部在线| 亚洲欧洲久久| 在线视频亚洲一区| 日韩免费福利电影在线观看| 久久视频一区二区| 亚洲欧美日韩国产另类专区| 中文字幕一区二区三| 亚洲国产综合人成综合网站| 亚洲资源在线观看| 黄色成人免费在线| 欧美日韩一区二区国产| 久久久水蜜桃| 日韩欧美国产一区二区三区| 亚洲欧美在线视频观看| 日韩精品国产欧美| 国产一区在线观看麻豆| 波多野结衣在线aⅴ中文字幕不卡| av资源网一区| 久久综合九色99| 在线不卡中文字幕播放| 国产精品美女久久久久aⅴ| 一级做a爱片久久| www..com久久爱| 精久久久久久久久久久| 91免费视频网| 欧美色图12p| 亚洲欧美日韩系列| 欧美日韩三级| 国产亚洲在线| 91国在线观看| 久久久三级国产网站| 亚洲成人自拍偷拍| 东方aⅴ免费观看久久av| 欧美精品黑人性xxxx| 伊人一区二区三区| 欧美日韩国产综合在线| 日韩视频一区二区在线观看| 国产另类ts人妖一区二区| 午夜在线精品| 最近中文字幕一区二区三区| 国产91对白在线观看九色| 91美女片黄在线| 2020国产精品自拍| 成人一区二区三区| 91精品国产综合久久香蕉麻豆| 一级精品视频在线观看宜春院| 91麻豆蜜桃一区二区三区| 91精品国产麻豆国产自产在线| 久久成人综合网| 久久综合狠狠| 五月天一区二区三区| 国产自产精品| 亚洲免费成人av| 欧美日韩国产精品一卡| 日韩午夜激情av| 成人av高清在线| 日韩午夜在线观看| 91看片淫黄大片一级在线观看| 久久久久九九视频| av资源站一区| 国产精品久久三区| 91婷婷韩国欧美一区二区| 国产欧美日产一区| 亚洲黄色成人久久久| 日韩国产欧美在线观看| 欧美精品xxxxbbbb| 欧美精选一区| 理论电影国产精品| 日韩午夜在线影院| 99国产欧美另类久久久精品| 亚洲欧美成aⅴ人在线观看| 亚洲小说欧美另类婷婷| 五月开心婷婷久久| 精品成人免费观看| 国产精品嫩草99av在线| 激情综合色综合久久综合| 亚洲精品在线观看网站| 一区二区三区四区五区在线| 国产麻豆精品在线| 亚洲自拍偷拍综合| 精品国产成人系列| www.日韩大片| 日本不卡的三区四区五区| 久久久久久久免费视频了| 亚洲国产精品一区二区第一页| 九色综合国产一区二区三区| 亚洲欧美视频在线观看视频| 这里只有精品电影| 麻豆国产91在线播放| 中文字幕的久久| 欧美丝袜丝交足nylons| 亚洲精品一区二区三区av| 99在线精品观看| 亚洲动漫第一页| 中文字幕av在线一区二区三区| 欧美一级理论片| 欧美一区二区三区视频| 亚洲欧洲另类国产综合| 国产欧美日韩综合精品二区| 欧美日韩中文一区| 激情自拍一区| 男女视频一区二区| 久久亚洲精精品中文字幕早川悠里| 99国产精品国产精品久久| 欧美电视剧免费全集观看 | 喷水一区二区三区| 欧美激情一区二区三区在线| 91在线视频免费91| 亚洲国产精品精华液ab| 欧美日韩黄色影视| 国产精品免费看| 色综合天天综合网国产成人综合天 | 久久riav二区三区| 欧美日韩亚洲三区| 国产 日韩 欧美大片| 国产资源在线一区| 国产a级毛片一区|