就效率和内存使用情况而言,根据需要为每个功能设置一个带有类/包的大型jar会更好吗?或者更好的是将它分成更小的更易管理的罐子?
假设我有一个大型项目,其中包含20-30个彼此无关的软件包:
com.example.test
- class 1
- class 2
- class 3
- another.package
- class 1
- class 2
- class 3
- another.package
- class 1
- class 2
- class 3
- another.package
- class 1
- class 2
- class 3
将每个包拆分成自己的jar会更有效吗?并拥有多个更小,更轻量级的罐子?我不确定这是否重要,但我很好奇,因为如果我把所有东西分开一点,它会使进一步的开发更容易。 (只要没有性能劣势)
答案 0 :(得分:11)
如果包不相关,那么它们不应该在同一个jar
期间。
通过拆分jar,用户可以选择部署中需要哪些包, 并且只包括那些。
您希望部署尽可能少的代码。 任何额外的东西都是一个额外的潜在问题,bug,安全漏洞。 不必要的东西也可能减慢类加载器, 虽然与我之前提到的其他人相比,这是一个很小的问题。
如果其中一些或全部一起使用, 然后由于实际原因,可以将它们捆绑在一起。