首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java EE开发中的性能(编译、构建、加载、内存加载)

Java EE开发中的性能(编译、构建、加载、内存加载)
EN

Stack Overflow用户
提问于 2013-03-14 15:32:52
回答 1查看 194关注 0票数 0

我想问一个一直困扰我的问题

在php开发中:项目的调试和编译只是一个ctrl +s的-> F5。

但是在Java项目中(特别是当我使用像jsf spring这样的java框架时)。)对受管bean (如果是JSF)或简单的java bean类的简单更改。我必须等待上下文的加载.....

尽管PC的功能足够强大,但我还是花了很长时间,而且偶尔还会造成内存过载

=>,极大地降低了生产效率并降低了动力

(我不认为大多数开发人员对此有抵触)

有没有解决这个问题的办法?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-03-14 15:50:34

PHP

您保存了一个文件。PHP是以文件为源启动的,它解释内容,构建操作码,执行,你会得到结果。PHP停止。

Java EE

您保存了一个文件。编译项目(一个文件中的更改可能会更改其他类文件)。您还可以启动应用程序服务器(开销较大)或执行上下文重新加载(开销较低)。这就像在每次PHP文件更改后重新启动Apache一样。您让Application Server保持运行,这样后续的请求就会更快。

但是为什么会有这么多麻烦呢?Java需要重新加载应用程序,因为它不会在每次请求时都解释每个类文件(就像PHP一样),所以当发生更改时,需要重新加载整个应用程序。另一个原因是JVM是一个高度优化的野兽,要想拥有出色的性能,你不可能有快速的周转(优化需要时间)。考虑在运行PHP时启用OP缓存并为每次PHP文件更改预热。

对于小型应用程序,在Java中重新加载的成本很低,但随着应用程序的增长,情况会变得更糟。一旦你使用了几个框架,那么在应用程序上下文中重新加载也会触发这些框架的初始化。

如果你想要PHP一样的开发经验,那么有一个商业工具,JRebel可用。此工具将从更改的类文件中重新加载新的字节码,而不是执行上下文重新加载。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15403547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档