将许多框架添加到Java应用程序 - 它会产生任何负面影响吗?

时间:2009-04-07 11:53:49

标签: java performance frameworks

如果向Java应用程序添加了许多框架依赖项,那么这会大大增加其内存占用量,因为它会在启动时预加载所有库,或者是一种更懒惰的行为,它会在您实际需要时仅加载所需的类(例如,导入语句甚至更晚)?

添加许多依赖项还会产生Java开发人员应该注意的其他负面影响吗?

4 个答案:

答案 0 :(得分:3)

只会根据需要加载类(由其他类通过import等引用)。

多个框架的问题在于您必须管理其共享依赖项。例如框架A需要Logging Framework X,但框架B需要Logging Framework Y。

这些问题并非不可克服,但您必须跟踪它们。升级Framework A时,最终可能会产生连锁反应,您必须更新相应的依赖关系。然后需要另一个框架组件更新,依此类推。

e.g。框架A升级,需要更新Log4J。然后强制您将Framework B更新为与新Log4J兼容的版本,依此类推。

如果您有多个框架要求,这实际上可能需要相应地细分您的应用程序(进入不同的可部署/服务等)。

答案 1 :(得分:1)

从概念上讲,当您添加大量框架时,您可能还会在代码库中添加大量重叠功能。这种重载也可能会非常令人头疼,并且你将会让不同的人使用不同版本的相同功能(来自不同的框架),原因并非明显。它会变得混乱。

答案 2 :(得分:0)

如果您担心分布式应用程序的大小由于对第三方jar有很多依赖性,您可能总是对其进行模糊处理/收缩,这通常会大大减少应用程序的大小。我过去使用过Pro Guard,它还会减少通过模糊处理和删除未使用的类/方法/字段等所依赖的大小。

答案 3 :(得分:0)

从技术上讲,如果你在java和&中使用多个框架你的系统非常大而且如果您的框架将减少java代码的开销,那么可以使用它。对于例如如果您的系统太大,那么您可以使用Hibernate进行对象关系映射与数据库。它将减少您的代码负担,如插入,更新,删除查询。但如果您的系统不是那么大,您可以手动编写以上内容。它不会像hibernate那样花费太多时间进行处理。在Spring或Struts2中也是如此。