《深入理解Java虚拟机》读书笔记八
第九章 類加載及執(zhí)行子系統(tǒng)的案例與實(shí)戰(zhàn)
Q:如果有10個WEB應(yīng)用程序都是用Spring來進(jìn)行組織管理的話,可以把Spring放到Common或Shared目錄下(Tomcat5.0)讓這些程序共享。Spring要對用戶程序的類進(jìn)行管理,自然要能訪問到用戶程序的類,而用戶程序顯然是放在/WEB-INF目錄中的。那么被CommonClassLoader或SharedClassLoader加載的Spring如何訪問并不在其加載范圍內(nèi)的用戶程序呢?
A:使用線程上下文類加載器來實(shí)現(xiàn)的,spring加載類所用的classloader都是通過Thread.currentThread().getContextClassLoader()來獲取的,而當(dāng)線程創(chuàng)建時會默認(rèn) setContextClassLoader(AppClassLoader),即spring中始終可以獲取到這個AppClassLoader(在tomcat里就是WebAppClassLoader)子類加載器來加載bean,以后任何一個線程都可以通過getContextClassLoader()獲取到WebAppClassLoader來getbean了
參考博客鏈接:
代理參考https://www.cnblogs.com/AmyZheng/p/9264215.html
https://blog.csdn.net/u013678930/article/details/51995251
轉(zhuǎn)載于:https://www.cnblogs.com/AmyZheng/p/10550796.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的《深入理解Java虚拟机》读书笔记八的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Deployment descripto
- 下一篇: Effective Java(1)-创建