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编程开发案例精讲》是一本深入浅出的JavaEE编程教程,由清华大学出版社出版。本书旨在通过丰富的实例讲解,帮助读者掌握JavaEE平台上的核心开发技术,提升实际项目开发能力。书中源代码的提供,...
java毕业设计——javaEE土地档案管理系统(论文+答辩PPT+源代码+数据库+讲解视频).zip java毕业设计——javaEE土地档案管理系统(论文+答辩PPT+源代码+数据库+讲解视频).zip java毕业设计——javaEE土地档案管理...
【标题】"求精要诀——JavaEE编程开发案例精讲 源代码(8-12)"涉及的是JavaEE平台上的高级编程实践,主要涵盖第8至12章的关键知识点。JavaEE,全称Java Platform, Enterprise Edition,是Java语言在企业级应用开发...
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健康管理系统的设计与...
《JavaEE开发技术与案例教程——刘彦君 课件》是刘彦君主编的一份详尽的教学资源,旨在深入浅出地介绍JavaEE技术及其实际应用。JavaEE(Java Platform, Enterprise Edition)是Java平台在企业级开发中的标准,主要...
北邮 邹华老师的分布式计算环境第三章——讲述javaEE
JavaEE 开发环境搭建是 Java 企业级开发的基础,它提供了一个完整的开发环境,让开发者可以专注于业务逻辑的开发而不是环境搭建。下面是 JavaEE 开发环境搭建的详细步骤和知识点: 1. 安装 JDK 和 MyEclipse ...
《JavaEE开发的颠覆者SpringBoot实战完整清晰版》是一本深入探讨SpringBoot技术的教程,旨在帮助JavaWeb和JavaEE开发者快速掌握SpringBoot的核心概念和实战技巧。这本书的高清PDF版本提供了丰富的学习材料,其内容...
《JavaEE开发的颠覆者SpringBoot实战》这本书深入探讨了Spring Boot这一革命性的Java开发框架,它是JavaEE开发模式的重要革新。Spring Boot以其简洁、快速和开箱即用的特性,极大地简化了Java应用程序的搭建和配置...
博客系统是一种基于JAVAEE技术构建的应用程序,它主要用于创建、管理和分享个人或组织的博客内容。这个特定的博客系统利用了Hibernate框架来实现代理对象数据接口(DAO),以及dom4j库来实现DAO层与表现层之间的解耦...
我在达内学大数据——JavaEE
这个毕业设计旨在让学生深入理解并实践JavaEE平台下的应用开发,同时也为其他学习者提供了一个完整的案例研究。 首先,JavaEE(Java Platform, Enterprise Edition)是用于构建企业级分布式应用的平台,它提供了...
《JavaEE开发的颠覆者:SpringBoot+SpringCloud完整版》是针对现代企业级应用开发的一份详尽教程,尤其适合那些对JavaEE有基础,希望深入理解和掌握微服务架构的开发者。本教程通过深入剖析Spring、SpringMVC以及...
JavaEE开发是一个复杂的过程,涉及众多的技术框架和库。在这个"javaEE开发 jar包集合"中,包含了多种关键组件,帮助开发者构建高效、稳定的Web应用程序。以下是对这些关键知识点的详细解释: 首先,SSM(Spring、...
《Spring Boot实战》是针对JavaEE开发领域的一本权威指南,Spring Boot作为JavaEE开发的颠覆者,极大地简化了传统JavaEE应用的复杂性,提高了开发效率。这本书全面覆盖了Spring Boot的核心概念、配置以及实战应用,...