我不完全確定我是如何處理這種情況,但不知何故,我從Thread.getContextClassLoader獲得一個空的ClassLoader。在閱讀了一小段文檔(文檔和谷歌中沒有太多信息)後,我得到了一個印象,即當前線程有一個空類加載器,並且應該檢查getContextClassLoader對空引用的檢查。線程上下文類加載器可以爲空嗎?
這是非常令人驚訝的,因爲我已經看到一些開源項目未經檢查調用getContextClassLoader(這讓我首先檢查了這一點)。具體而言,該行codemodel:JCodeModel.java line 358
(我只是驗證了log4j的不檢查爲好)
所以應該調用getContextClassLoader檢查空引用或東西弄亂了我的線程?
您是否碰巧知道當本機線程連接到JVM時上下文類加載器是否自動修復?我不確定我是如何得到上下文類加載器爲空的一點,因爲一切都在進行中,直到現在。 – 2010-08-11 14:19:39
當創建一個'Thread'時,它繼承當前'Thread'的線程上下文類加載器。 – 2010-08-11 14:22:49
這些是本地線程,而不是java線程。 – 2010-08-11 14:25:37