我有一個服務器(Linux/Apache-Tomcat的&MySQL),它承載幾個幾乎相同的網站。至少,java庫是相同的。在一臺服務器上的許多相同的網站
現在,每個網站都有它們自己的帶有這些java類的.jar文件。
我想知道這是否是一種好的做法,或者我應該將這些課程放在每個網站都可以訪問它們的地方?這會以任何方式提高性能嗎?它會導致JVM的內存使用量減少嗎?是否有任何下降?
我一直沒有找到任何有關這種情況的信息。
我有一個服務器(Linux/Apache-Tomcat的&MySQL),它承載幾個幾乎相同的網站。至少,java庫是相同的。在一臺服務器上的許多相同的網站
現在,每個網站都有它們自己的帶有這些java類的.jar文件。
我想知道這是否是一種好的做法,或者我應該將這些課程放在每個網站都可以訪問它們的地方?這會以任何方式提高性能嗎?它會導致JVM的內存使用量減少嗎?是否有任何下降?
我一直沒有找到任何有關這種情況的信息。
上行:少量的磁盤空間和RAM被保存。請記住,唯一佔用的堆空間屬於java.lang.Class
實例,表示實際從該JAR文件加載的類型。
缺點:JVM中的所有應用程序都使用共享庫的版本進行鎖定。如果你真的希望所有部署的web應用程序是相同的,那麼這真的沒有任何缺點。部署可能會變得棘手,因爲你必須維護一個非標準的部署過程(例如,webapp不是獨立的),這可能與容器到容器或者同一容器的版本不同(例如Tomcat在版本之間改變了主意)關於如何配置「通用」和「共享」庫的方法,請參閱第4和第5,5和5.5以及第5和第6章)。
如果Web應用程序是相同的,您應該問自己:您是否應該部署多個應用程序?相反,您可以嗅探URL併爲每種客戶端使用配置,而不是單獨部署應用程序。
我只問是否只有一個.jar文件,而不是許多相同的.jar文件更好。我認爲你不需要很多段落來回答這個問題(如果你知道答案的話)。 – Sergio
[Tomcat中的第三方庫最佳實踐]的可能重複(http://stackoverflow.com/questions/6397334/third-party-libraries-best-practice-in-tomcat) –