第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果Tomcat在兩個Web應(yīng)用程序中,它們是否兩次將同一庫文件加載到內(nèi)存中?

如果Tomcat在兩個Web應(yīng)用程序中,它們是否兩次將同一庫文件加載到內(nèi)存中?

慕容708150 2019-11-14 09:59:15
我在tomcat/webapps文件夾下有兩個應(yīng)用程序。tomcat/webapps/App1tomcat/webapps/App2兩個應(yīng)用程序共享相同的庫。例如存儲在中tomcat/webapps/App1/WEB-INF/lib。兩個庫是否都在內(nèi)存中加載了兩次?我應(yīng)該把這些共享庫放進(jìn)去tomcat/server/lib嗎?
查看完整描述

3 回答

?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個贊

我不建議將jar文件放在共享文件夾中。例如,假設(shè)您將來需要部署第三方應(yīng)用程序,該應(yīng)用程序在WEB-INF文件夾中具有jar文件的較新版本。對于此應(yīng)用程序,jar的類將被加載兩次(即使它們具有相同的名稱),一個從共享文件夾中加載,一個從Web應(yīng)用程序文件夾中加載。這種情況可能會導(dǎo)致很難發(fā)現(xiàn)錯誤。


如果jar文件位于Web應(yīng)用程序文件夾中,則它們由單獨(dú)的類加載器加載,并且不會互相干擾。


查看完整回答
反對 回復(fù) 2019-11-14
?
慕尼黑的夜晚無繁華

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個贊

根據(jù)經(jīng)驗(yàn):這兩個Web應(yīng)用程序完全相互隔離-一個應(yīng)用程序的庫未在另一個應(yīng)用程序中使用-因此可以回答您的第一個問題-是的,它們將被加載兩次。


為了回答第二個問題,是否應(yīng)該將這些庫部署到Tomcat的共享目錄中-我會拒絕,這是為什么:


如果將庫Jar部署到共享位置(tomcat / server / lib),則該庫版本將成為在該Tomcat實(shí)例下運(yùn)行的所有Web應(yīng)用程序的默認(rèn)庫。從tomcat架構(gòu)的概述中可以看到,類加載器的工作是“順著鏈條進(jìn)行的”,其中單個Web應(yīng)用程序的lib文件夾是它在拋出未找到類的異常之前將查找的最后一個位置。在Tomcat 6和Tomcat 7中并非如此:Web應(yīng)用程序lib和classes文件夾中的任何類都將在共同使用之前被解析,因此,這不會破壞在戰(zhàn)爭2中部署所有jar的其他應(yīng)用程序。


因此,將共享庫部署到該目錄的問題是,它破壞了彼此隔離的單個應(yīng)用程序的體系結(jié)構(gòu)。在最初的示例中很好,但是如果您要部署第三方應(yīng)用程序(例如,如果您正在運(yùn)行使用Portlet來處理特定內(nèi)容的應(yīng)用程序),則會立即遇到版本依賴性問題-庫的共享版本可能會對于第三方應(yīng)用程序來說不是正確的,但是由于該軟件包已經(jīng)加載,因此您將在左右中間拋出異常。


查看完整回答
反對 回復(fù) 2019-11-14
  • 3 回答
  • 0 關(guān)注
  • 692 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號