Java对象创建与字符串解析

时间:2011-02-23 14:27:49

标签: java jsp migration

我正在努力将一个以JSP为中心的项目迁移到使用Velocity。在许多地方,JSP页面只是解析字符串以显示各种内容。这使JSP非常难看并且难以维护。

我修改了这个类的Controller来为我做这项工作(即创建一个POJO列表),然后使用velocity迭代各个部分。我觉得它会带来很大的阻力。

我意识到创建Object会带来开销,但它使我们的页面更​​容易调试,编写和使用。除了它将UI与背景中发生的核心逻辑分开的事实。更不用说我们的appservers是BORED。数据库在痛苦中畏缩。我们看到用户增加了十倍(这可能就是为什么最初开发它来解析JSP中的字符串并跳过对象创建) - 这让我觉得过早优化。

有什么进一步的论据支持我的说法,即我们应该吃掉与对象创建相关的成本?

3 个答案:

答案 0 :(得分:7)

  • 大约15年前,Java中的对象创建有点昂贵。从那时起,Java运行时有了很大的改进。如今,Java对象创建通常比在C ++中更快。
  • 永远不会如此昂贵,以至于它将成为基本应用程序设计的决定性因素。
  • 在JSP中执行操作 not 意味着不会创建任何(甚至更少)对象。恰恰相反,最有可能。 JSP被编译为完全正常的Java代码,可以创建大量对象。
  • 听起来贵公司需要雇佣至少一个真正理解Java如何工作的人。

答案 1 :(得分:5)

对象创建很便宜。非常便宜。现代电脑很快。很快。

做一些简单的分析。了解创建数百万POJO需要多长时间。它会很快。

答案 2 :(得分:1)

维护 - 大部分资金用于维护软件与开发。如果你做一些易于维护和扩展的事情,这是一种祝福。

在这个社区中,通常不赞成做任何过早的优化。你在运行什么样的硬件?我想服务器可以处理你的工作量...我倾向于首先让它运行良好的想法,然后找到瓶颈。您可能会发现,在对其进行分析时,对象创建不是最大的问题。