做为了一个java开发人员,总是为因为要增加一个类,或是增加删除一个方法,甚至修改一个小处代码而不得不再次重启服务器。而启动服务器总是那么的浪费时间。一个小时的编程
10
分钟左右,这效率....
而php有java更有优势在于它是动态加载的。而为什么java就不可以呢?
你想要什么?可以加方法?可以加类?可以动态的随意更改java代码又不重启服务器?
现在这些都可以实现了,今天重大发现这些都可以做到了。java也变为和php一样可以动态的更改了。
今天听到了这么一个发现,觉得确实很好,现在在这里和大家分享下。
要做到这样功能需要对本机有所配置一下:
安装步骤:
1、
在
windows
启动安装程序,在控制台输入
:
> java -jar dcevm-0.2-win.jar (路径放到dcevm-0.2-win.jar的文件夹)下面附件下载
等一会儿,这时会出现一个程序框。选择一个jdk,再install。完成后test一下(安装完成没有提示,差不多的时间就点test看一下,如果成功就是安装好了)
安装程序会替换掉
java
下
bin/client/jvm.dll
和
bin/server/jvm.dll
,并将以后的
jvm.dll
备份到相应目录下。还会将
dcevm.jar
加到
lib/ext/
目录
.
2、eclipse端的修改
eclipse.ini
文件里面最后加入:(这里面要把原有的部分去掉一些)
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=512M
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-XX:+TraceClassLoading
-XX:+TraceClassUnloading
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-verbose:gc
-Xloggc:gc.log
我的修改完之后是这样的
-
-startup
-
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
-
--launcher.library
-
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-
-product
-
org.eclipse.epp.package.jee.product
-
--launcher.XXMaxPermSize
-
256M
-
-
-
-vmargs
-
-Xms128M
-
-Xmx512M
-
-XX:PermSize
=
64M
-
-XX:MaxPermSize
=
512M
-
-XX:+PrintGCTimeStamps
-
-XX:+PrintGCDetails
-
-XX:+TraceClassLoading
-
-XX:+TraceClassUnloading
-
-XX:+PrintGCTimeStamps
-
-XX:+PrintGCDetails
-
-verbose:gc
-
-Xloggc:gc.log
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.jee.product
--launcher.XXMaxPermSize
256M
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=512M
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-XX:+TraceClassLoading
-XX:+TraceClassUnloading
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-verbose:gc
-Xloggc:gc.log
重启一下eclipse看是否可以正常启动,这样的就配置完成了。
接下来是做个小试验。
1、在你的web程序下,debug状态启动tomcat。(注意在要debug状态下
)
当你的程序正常运行后,要你想在改动的地方java代码,更改下,再重新刷下页面就明白了。(如果还是不成功,可以和我交流下)
相关文档学习:
1、
http://www.slideshare.net/wangscu/hotspot-hotswap-who-and-who-are-best-freinds
2、http://rdc.taobao.com/team/jm/
(感谢oznyang提供)。
p.s:我是在remoteDebug状态下做的,大家试试看哦。
有什么问题大家可以提出来,互相学习。
相关推荐
### 修改Java代码及JS无需重启Tomcat的知识点详解 #### 一、背景介绍 在软件开发过程中,频繁地启动和停止应用服务器对于提高开发效率是一个不小的障碍。特别是当使用如Apache Tomcat这样的应用服务器时,每次修改...
为了解决这个问题,"修改Java代码不重启Tomcat"的技术应运而生,其中JRebel是一款非常著名的工具,它能够实现在不重启Tomcat的情况下热部署修改后的Java代码。 JRebel 是由Zeroturnaround公司开发的一款即时应用...
标题“编译class不用重启tomcat”涉及到的是Java开发中的热部署技术,它允许开发者在不重启应用服务器(如Tomcat)的情况下,实时更新代码并看到变化的效果,从而极大地提高了开发效率。这篇博客可能介绍了如何使用...
"热部署"是开发者在开发过程中的一项重要功能,它允许开发者在不重启服务器的情况下更新应用代码,从而大大提高开发效率。本压缩包提供的“tomcat热部署+操作文档”旨在帮助用户实现这一功能。 首先,我们要理解...
然而,每次修改代码后都需要重启服务器以查看更改效果,这无疑降低了开发效率。为了解决这个问题,开发者通常寻求“热部署”解决方案,即在不重启服务器的情况下,能够实时应用代码变更。本篇文章将详细介绍如何在...
总结一下,本知识点主要涉及如何利用Tomcat的Manager应用进行远程部署,以及配置Tomcat以实现代码修改后的自动重载,从而提高开发效率。这些技巧对于频繁迭代和调试的项目尤其有用。通过理解并熟练运用这些方法,...
将Tomcat 6.0与MyEclipse结合使用,开发者可以直接在IDE内调试和部署Web应用,大大提高了开发效率。在MyEclipse中配置Tomcat 6.0,通常需要指定Tomcat的安装路径,并在IDE的服务器视图中启动和管理。 5. **安全管理...
然而,需要注意的是,虽然这种方法可以提高开发效率,但在生产环境中,我们通常还是推荐完全重启服务器以确保所有更改都得到正确应用。 至于"struts2报表开发.txt"这个文件名,它可能涉及到Struts2框架的报表开发。...
综上所述,这个批处理脚本提供了一种自动化的方式来管理Tomcat服务器,它能够帮助开发人员快速清理不再需要的编译文件,并确保新代码的正确加载,从而提高了开发效率和应用的健壮性。同时,这也体现了批处理文件在...
总的来说,JavaRebel通过实时代码更新功能,为Java开发者提供了一种高效的开发环境,减少了在Tomcat上反复重启的次数,从而提高了开发效率。对于大型项目或者需要频繁调试的开发者来说,这是一个不可或缺的工具。...
在开发Java Web应用程序时,尤其是使用Mybatis作为持久层框架的时候,经常遇到的一个问题是:当我们在IntelliJ IDEA中修改了Mapper XML文件后,需要手动重启Tomcat服务器才能看到改动的效果,这无疑降低了开发效率。...
总的来说,通过Maven的Tomcat插件,我们可以方便地运行和调试Java Web项目,极大地提高了开发效率。记住,一定要根据你的实际环境调整配置,如Tomcat版本、端口号和服务器认证信息,确保插件能够正确工作。
在MyEclipse中配置Tomcat进行动态加载,能够让开发者在不重启服务器的情况下实现应用的热更新,提高开发效率。下面将详细解释这一过程以及相关的技术知识点。 首先,理解"动态加载"的概念。动态加载是指在程序运行...
总的来说,利用JRebel和相关的扩展插件,开发者能够在IntelliJ IDEA中高效地进行开发,无需每次修改代码后都重启Tomcat,从而极大地提高了开发效率和工作流的流畅性。对于大型项目和团队来说,这样的工具无疑是提升...
在软件开发过程中,频繁地启动和停止应用服务器(如Tomcat)来查看代码修改效果不仅耗时,而且降低了开发效率。为此,许多IDE(集成开发环境)如IntelliJ IDEA提供了热部署功能,使得开发者可以在不重启应用的情况下...
在传统的开发流程中,每次修改Java应用程序后,都需要重新打包、部署到Tomcat并重启服务,这个过程可能耗时较长,且频繁操作会降低开发效率。有了热部署功能,开发者可以快速验证代码变更,加快问题定位和修复速度,...
作为一个开发工具,它不仅提供了一个运行环境,还帮助开发者在实际部署前发现和修复问题,提高了开发效率。 压缩包内的文件“apache-tomcat-7.0.53”是Tomcat 7.0.53的完整安装包,包含了服务器的所有组件,包括...
使用ssh实现Tomcat自动部署,可以提高开发效率和服务器可靠性。解决OutOfMemoryError PermGen space系统错误需要设置JVM的PermGen space的大小。了解JVM内存分配机制有助于更好地解决内存相关的问题。