摘要:除了以上級別的成員變量共享,在調用鏈跟蹤時要能識別不同分層下的多個類實例的調用是同一個請求,而這個請求的調用都在一個獨立線程內完成,此時就要用到線程級變量共享。
一、Java類成員作用域
JAVA類成員作用域參考下圖:
Java虛擬機級作用域,通過在類成員變量前加static關鍵字修飾實現在整個Java虛擬機中共享。
類實例級作用域,成員變量前不加static關鍵字修飾則可,如圖中Class A、Class B、Class C的成員變量,只在類實例中共享。
除了以上級別的成員變量共享,在調用鏈跟蹤時要能識別不同分層下的多個類實例的調用是同一個請求,而這個請求的調用都在一個獨立線程內完成,此時就要用到線程級變量共享。
二、實現線程變量共享在Java中可以通過ThreadLocal實現線程變量共享,即便不需要跟蹤調用鏈,僅僅是跟蹤SQL調用的數據流也是非常有用。
ThreadLocal的使用可以參考這篇文章:https://www.jianshu.com/p/4e1...
end.
加入《Java棧實戰營》知識星球,參與討論,更多實戰代碼分享,不就是幾斤蘋果,幾個榮耀道具的事嗎!
https://t.zsxq.com/RNzfi2j
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75788.html
摘要:微服務中調用棧的獲取,使用的開發者會很自然想到用來攔截,但是攔截同一個類的多個方法之間的調用很不方便,有侵入性,因此并不適合。調用棧的跟蹤也提供了這個能力,可以獲得當前方法的調用棧信息。 一、調用鏈跟蹤的作用 調用鏈跟蹤包括 1.前端到后端的調用鏈 2.單個服務內部方法之間的調用鏈 3.微服務之間的調用鏈 4.應用服務和數據庫之間的調用鏈 5.應用服務和第三方服務中...
摘要:一調用棧調用鏈監控僅僅獲取調用順序是不夠的,如前所描述左邊只體現了順序,右邊體現了順序和調用棧信息。二獲取調用棧在中獲取調用棧的方法如下代碼示例輸出結果可以看到第個棧是調用的方法。 一、調用棧 調用鏈監控僅僅獲取調用順序是不夠的,如前所描述: showImg(https://segmentfault.com/img/bVbvV9H?w=500&h=230);左邊只體現了順序,右邊體現...
閱讀 2692·2023-04-25 19:13
閱讀 4010·2021-09-22 15:34
閱讀 3053·2019-08-30 14:23
閱讀 1462·2019-08-29 17:17
閱讀 1603·2019-08-29 16:05
閱讀 1538·2019-08-29 13:26
閱讀 1218·2019-08-29 13:19
閱讀 553·2019-08-29 13:16