2010-08-26 90 views
14

我想知道jar文件的大小是否對Java虛擬機的性能有任何影響?JAR文件的大小是否會影響JVM的性能?

是否會有jar文件變得太大而導致JVM無法有效運行的問題?

+0

最近與相關:http://stackoverflow.com/questions/3314815/does-a-war-file-size-affect-in-some-way-the-application-and-or-application-server – JoseK 2010-08-26 13:04:23

回答

10

是的,jar文件的大小對性能有影響。更合適的問題是,它有什麼重大的影響?這個問題的答案是否定的。

是的,有一點在jar文件變得太大,並影響JVM。我不知道它在哪裏,但它接近你係統內存的大小。如果JVM無法在不交換的情況下將整個JAR文件和Java庫加載到系統內存中,這肯定會影響性能。

這不是你需要關心的事情。不要在未使用的類路徑中包含JAR文件。不要在未使用的項目JAR文件中包含一堆代碼。我非常懷疑你會在接近影響JVM性能所需的大小的任何地方創建應用程序。

+0

Yup ,罐子尺寸很重要。分發桌面應用程序可能更重要,因爲沒有人想要一個簡單的程序下載500MB。對於服務器端的應用程序,需要很多「工作」才能做到這麼重要...... – bwawok 2010-08-26 14:50:18

+1

我完全同意這一點,而且我的經驗非常相似。在課程規模大於算法時,或者如果您有一個非常大的課程,性能受到傷害的平常地點。 – aperkins 2010-08-26 15:11:33

+1

jar膨脹最大的罪魁禍首是企業/ web應用程序,尤其是使用Maven構建時。如此之多的依賴關係和依賴關係就會被拖入其中,一個適度大小的應用程序超過50Mb的jar文件並不罕見。 – locka 2010-08-26 15:37:30

0

在我看來,罐子的大小並不是考慮提高性能時要考慮的因素。

如果你有大罐子,這意味着你有很多代碼。如果你有很多代碼,因爲你正在處理一個複雜的項目,那麼對我來說一切都可以。如果你有一個「簡單」項目的大罐子,這可能意味着代碼需要重新思考=>精心設計的類通常是實現更小代碼尺寸和更小罐子的方式。

相關問題