Java 在项目的构建路径中包含外部库(JAR)对性能的影响

Java 在项目的构建路径中包含外部库(JAR)对性能的影响,java,performance,build,jar,Java,Performance,Build,Jar,java项目中可以包含很多helper外部库,如Google Guava、Apache commons等。包含大量这些内容的缺点是什么?它会对项目的性能产生影响还是过度杀戮 根据您希望使用外部库的多少来决定是否将其包含在项目中,但除此之外,还有其他需要考虑的问题吗?加载大量库可能最终会耗尽您的permgen空间(存储类定义的地方)静态方法/字段可能会占用大量内存,即使您不在jar中使用某个类。但在实践中,这通常不会成为问题,除非您使用的是非常受限的设备(例如嵌入式设备) 然而,另一个问题是,随着

java项目中可以包含很多helper外部库,如Google Guava、Apache commons等。包含大量这些内容的缺点是什么?它会对项目的性能产生影响还是过度杀戮


根据您希望使用外部库的多少来决定是否将其包含在项目中,但除此之外,还有其他需要考虑的问题吗?

加载大量库可能最终会耗尽您的permgen空间(存储类定义的地方)静态方法/字段可能会占用大量内存,即使您不在jar中使用某个类。但在实践中,这通常不会成为问题,除非您使用的是非常受限的设备(例如嵌入式设备)

然而,另一个问题是,随着图书馆的增多:

  • 跟踪真正需要什么和不需要什么变得更加困难,即可维护性
  • 您可能会暴露这些库中每个库的漏洞
  • 项目中未知变量的数量增加,这可能会导致不可预测的行为或更长的错误查找时间
但是,有一个相当好的机会,即开源的、长期维护的库的质量要比我们任何人在最初几个版本中编写的库的质量好得多

总之:保持一切整洁和精简是一件好事,但不要实现库为避免包含该库而为您所做的代码


也就是说,我相信这有可能引发一场意见战,所以看看别人怎么说吧

它不会对项目的性能产生比重写代码更大的影响。