只是想知道,如果压缩将随桌面应用程序一起提供的jar文件(没有网络访问jar)通常是一个好主意,如果解压缩会比文件io产生更大的影响。
编辑:感谢目前为止的答案,并抱歉在这里有点不清楚。我没有谈到将罐子运送给客户,而是在应用程序启动时将磁盘上的jar文件的最佳格式。我知道jar文件是zip文件,可以提供不同的压缩级别(或根本没有压缩),我直接想知道压缩如何改变启动性能,不仅仅是在我的开发盒上(其中有一个快速的SSD磁盘) ,但也在较慢的磁盘上。)答案 0 :(得分:2)
我希望答案取决于您的申请。但是,如果压缩的JAR为您的应用程序提供更快或更慢的启动,则应该很容易通过实验确定。只需使用压缩和压缩关闭构建应用程序JAR文件,并比较应用程序启动时间。 (在不同的机器上试用;例如使用慢速光盘,快速光盘,固态硬盘和不同数量的RAM。请记住,有些操作系统会积极地缓存文件,并在时序测量中考虑到这一点。)
当您使用它时,您还应该调查不同压缩级别的影响(通过jar
命令选项)并使用pack200
话虽如此,我的直觉是,本地安装的JAR的压缩和未压缩之间的差异将足够小,用户几乎不会注意到差异。
答案 1 :(得分:1)
在几乎任何合理的桌面情况下,磁盘IO的成本都高于压缩成本。压缩文件几乎肯定是一个胜利。
也就是说,JAR文件已经被压缩了。压缩事物通常不值得努力。所以我会说不,不要压缩你的JAR文件,因为它们已经被压缩了。