我想问一个一直困扰我的问题
在php开发中:项目的调试和编译只是一个ctrl +s的-> F5。
但是在Java项目中(特别是当我使用像jsf spring这样的java框架时)。)对受管bean (如果是JSF)或简单的java bean类的简单更改。我必须等待上下文的加载.....
尽管PC的功能足够强大,但我还是花了很长时间,而且偶尔还会造成内存过载
=>,极大地降低了生产效率并降低了动力
(我不认为大多数开发人员对此有抵触)
有没有解决这个问题的办法?
谢谢
发布于 2013-03-14 15:50:34
PHP
您保存了一个文件。PHP是以文件为源启动的,它解释内容,构建操作码,执行,你会得到结果。PHP停止。
Java EE
您保存了一个文件。编译项目(一个文件中的更改可能会更改其他类文件)。您还可以启动应用程序服务器(开销较大)或执行上下文重新加载(开销较低)。这就像在每次PHP文件更改后重新启动Apache一样。您让Application Server保持运行,这样后续的请求就会更快。
但是为什么会有这么多麻烦呢?Java需要重新加载应用程序,因为它不会在每次请求时都解释每个类文件(就像PHP一样),所以当发生更改时,需要重新加载整个应用程序。另一个原因是JVM是一个高度优化的野兽,要想拥有出色的性能,你不可能有快速的周转(优化需要时间)。考虑在运行PHP时启用OP缓存并为每次PHP文件更改预热。
对于小型应用程序,在Java中重新加载的成本很低,但随着应用程序的增长,情况会变得更糟。一旦你使用了几个框架,那么在应用程序上下文中重新加载也会触发这些框架的初始化。
如果你想要PHP一样的开发经验,那么有一个商业工具,JRebel可用。此工具将从更改的类文件中重新加载新的字节码,而不是执行上下文重新加载。
https://stackoverflow.com/questions/15403547
复制相似问题