ROR之所以开发效率比java高,除了语法的简洁和框架本身强大的功能之外,程序员不必反复的重启服务也是重要原因之一。JavaRebel 给Java带来了Ruby和PHP风格的动态重新装载类特性。虽然现在还有些局限性,但它可以显著地增加开发速度。JavaRebel允许一个应用程序(独立的或运行在应用服务器上的应用)重新装载在运行过程中发生的大多数类变化,包括增加或删除方法和域。JavaRebel可以帮助java实现快速反馈循环,使得JavaEE开发像ROR、PHP一样方便。
使用
Javarebel是一个Jvm插件,使用非常简单,只需要两步:
- 将javarebel.jar加入classpath(不建议将javarebel.jar放在WEB-INF/lib下,因为生产环境不需要它)
- 命令行中加入下面的启动参数
java -noverify -javaagent:C:\libraries\javarebel.jar -Drebel.dirs=c:\workspace\project\classes
Drebel.dirs指向工程中.class文件的目录,不必指定具体的类名。另外,javarebel.jar的名字不能修改。
在eclipse中使用也非常简单,如下图:
javarebel支持大多数jvm和常见的containers,包括Weblogic、Jboss、Tomcat、Jetty等,官网上没有提到Websphere不知道行不行。
感受
用了一个月,总得感觉是javarebel很好很强大,大约减少了80%的重启时间。很多时候都不要debug了,直接修改,然后刷新页面(ajax的话,都不用刷)就可以看到效果。以前因为担心Jboss等支持EJB3的container启动慢而没有使用seam这个强劲的框架,现在可以试试了。
Javarebel使用了动态代理,调试的时候会出现很多奇怪的类名,有点乱,不过这并不影响调试,反正spring、hibernate之类的也用了动态代理,乱就乱吧。
问题
在修改配置文件的时候仍然需要重新启动,幸好比起修改代码我们很少修改配置文件,随着Annotation的使用,这种修改配置的情况会越来越少。Javarebel会对性能产生影响,所以在性能测试和生产环境中不要使用。它会影响启动速度,但是开发中我们使用jetty,因为jetty的启动非常快,所以javareble的影响基本感觉不到。Javarebel的spring插件好像还不完善,我试了试,暂时放弃了,没多少影响的说。它是需要付费使用的,但是它提供的付费渠道俺都不会用,所以可以暂时当作免费的使用(好像没有什么限制),等俺有了Visa再说吧 。
其他的问题可以到官网上查,比如它的FAQ 。
分享到:
相关推荐
java毕业设计——基于javaee的影视创作论坛的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于javaee的影视创作论坛的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于javaee的...
清华大学出版社书籍《求精要诀——JavaEE编程开发案例精讲》的全部源代码,运行环境为Tomcat 8.0, Servlet 3.1
求精要诀——JavaEE编程开发案例精讲 源代码(8-12章)
java毕业设计——javaEE土地档案管理系统(论文+答辩PPT+源代码+数据库+讲解视频).zip java毕业设计——javaEE土地档案管理系统(论文+答辩PPT+源代码+数据库+讲解视频).zip java毕业设计——javaEE土地档案管理...
java毕业设计——javaEE商品供应管理系统(论文+答辩PPT+源代码+数据库+讲解视频).zip java毕业设计——javaEE商品供应管理系统(论文+答辩PPT+源代码+数据库+讲解视频).zip java毕业设计——javaEE商品供应管理...
java毕业设计——javaEE土地档案管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——javaEE土地档案管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——javaEE土地档案管理...
java毕业设计——javaEE健康管理系统(论文+开题报告+答辩PPT+源代码+数据库+讲解视频).zip java毕业设计——javaEE健康管理系统(论文+开题报告+答辩PPT+源代码+数据库+讲解视频).zip java毕业设计——javaEE健康...
java毕业设计——javaEE健康管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——javaEE健康管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——javaEE健康管理系统的设计与...
java毕业设计——基于Javaee的影视创作论坛的设计与实现(论文+答辩PPT+源代码+数据库).zip
北邮 邹华老师的分布式计算环境第三章——讲述javaEE
由刘彦君主编的javaEE开发技术与案例教程的课件,教学课件,比较全面,涵盖所有的章节
我在达内学大数据——JavaEE
资源名称:求精要诀:Java EE编程开发案例精讲内容简介:Java EE是当前最流行的Web应用主流框架,在企业级应用开发中占主导地位。本书系统地介绍Java EE的体系结构、JSP与Servlet在体系结构中的地位、应用服务器和...
博客系统是基于Hibernate实现DAO,基于dom4j实现DAO与表现层层解耦的系统,有用户管理模块,博客管理模块,博客访问模块。
JavaEE开发的颠覆者 Spring Boot实战 完整版.zip,SpringBoot开发实例。
而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Java EE 开发变得异常简单。 《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而...
javaee开发环境配置实验 Firstapp
在JAVAEE开发中10个常用的东西 绝对有用
JavaEE轻量级框架应用与开发——S2SH此书课后答案,此书由QST青软实训编著,清华大学出版社出版