在整個Java中引用傳遞是一個核心的問題,也就是說幾乎所有的問題都可能卡在引用傳遞上。
例如:反射機制裡如果采用反射進行對象執行個體化,則要求類中要提供有無參構造方法。如果沒有無參構造,就必須明确的傳遞一個參數(可能是各種類型)。你不得不去面對Constructor的操作形式。
範例:問題引出

整個過程之中屬于一個最基礎的引用傳遞。新的思考出現了,如果要求Send類中的set()方法裡面不接收Message類對象,但可以傳遞Message。有人想到,采用一個中間過渡處理,設定一個static屬性操作。
現在一個問題:java是多線程了,static儲存的是全局資料區,屬于公共的資料處理。這種操作在多線程進行中就會出現資料不同步的問題,最好的做法是在可以儲存資料基礎上再多儲存一個目前線程對象。
這種操作就屬于ThreadLocal類的作用,ThreadLocal在每一次設定内容的時候都會儲存一個目前線程對象。
ThreadLoca操作裡,開發中儲存最多的是資料庫的連接配接對象,因為幾乎在業務層、資料層都可能使用到這種資料庫的連接配接對象,是以将這種對象儲存在ThreadLoca裡面是最合适的。
更多專業知識,面試技巧就在阿裡雲開發者社群,持續更新中……
感謝浏覽~
本内容來源于
阿裡雲大學-Java面試技巧