Java,多个罐子还是一个大?

时间:2014-12-26 22:30:07

标签: java

就效率和内存使用情况而言,根据需要为每个功能设置一个带有类/包的大型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会更有效吗?并拥有多个更小,更轻量级的罐子?我不确定这是否重要,但我很好奇,因为如果我把所有东西分开一点,它会使进一步的开发更容易。 (只要没有性能劣势)

1 个答案:

答案 0 :(得分:11)

如果包不相关,那么它们不应该在同一个jar期间。

通过拆分jar,用户可以选择部署中需要哪些包, 并且只包括那些。

您希望部署尽可能少的代码。 任何额外的东西都是一个额外的潜在问题,bug,安全漏洞。 不必要的东西也可能减慢类加载器, 虽然与我之前提到的其他人相比,这是一个很小的问题。

如果其中一些或全部一起使用, 然后由于实际原因,可以将它们捆绑在一起。