Welcome to Our Blog

JRebel 101: What JRebel is and how it makes Java development lightning fast

“JRebel? Yeah, I heard of that…”   - Rupert, conference attendee

One of the best things about the Devoxx Java Conference in Antwerp each year, is that even after our 5th time going there we still meet lots of new developers who aren’t quite sure what JRebel actually is. They might have heard different speakers mention it during their talks as being helpful for speeding up development, or saw the ZeroTurnaround team at the booth in the exhibition hall, or just ran into someone wearing a new JRebel t-shirt in the beer line.

Now seems like a good opportunity to set the record straight. The next time I hear a dev say, “Why the heck is Java so slow? Why is my application restart so long? Isn’t this supposed to be the future?”, I will have a nice blag post to refer to :-)

What does JRebel do?

JRebel lets Java developers instantly update code (i.e. add a new feature, fix a bug, etc) and see those changes reflected in their app under development without restarting the application server. According to our Java EE Productivity Report 2011, this process that takes an average of 10.5 minutes each coding hour for every developer (that’s over 5 full work weeks each year!)

Bottom line: JRebel users tell us that Java development is more fun, iterative and productive–similar to coding in PHP, Python, Ruby and other scripting languages.

What does JRebel do (from a technical perspective)?

JRebel uses “Rebellion Technology” to instantly reload changes made to a class structure, making a full app redeploy unnecessary. You just save, refresh and see the changes right away. To achieve this, it does not wrap classloaders around classes, but patches existing classloaders to make classes loaded through them reloadable using instrumentation. JRebel tracks changes that you make in your workspace, and updates them on-the-fly, so you can keep focused on the code and stay in the zone without interruption. (JRebel helps people quit smoking this way!) — super-technical content on Classloaders can be found here.

JRebel is a plugin for anything Java

  • JRebel plugs in to different JVMs, most popularly Oracle’s JVM (formerly Sun’s)
  • JRebel plugs in to your IDE
  • JRebel is a -javaagent
  • JRebel supports Java EE and Java SE

JRebel : Hotswap :: Ferrari : Lawnmower

JRebel is a Java jedi. Unlike HotSwap, which supports only changes to method bodies, JRebel supports:

  • Adding / removing / changing Classes
  • Adding / removing / changing Methods
  • Adding / removing / changing Constructors
  • Adding / removing / changing Fields
  • Adding / removing / changing Annotations
  • Adding / removing / changing Static field values

JRebel also rocks out with instant builds and Java EE support (see all the JRebel features). So if your project is more like a race than a weekend lawn manicure, then JRebel is a clear winner over Hotswap.

JRebel is IDE neutral

Using some weird IDE? Not using an IDE? No matter … JRebel works. Here are links for the 6 most popular IDEs in Java:

JRebel supports 41 Java web & server-side frameworks (as of Nov 2011)

Is your team using Spring, Hibernate, Struts, JSF, JSP or Seam? JRebel supports a total of 41 different Java frameworks Here is a list:
http://zeroturnaround.com/jrebel/features/frameworks/

JRebel supports various app servers/containers

Which do you use most?

  • Oracle WebLogic
  • WebSphere
  • Tomcat
  • JBoss
  • GlassFish
  • Jetty
  • Resin
  • Google AppEngine
  • SAP NetWeaver
  • SpringSourceDM Server (Eclipse Virgo)
  • Oracle OC4J
  • Mulesoft tcat server

Using something not on the list above? Email us at support@zeroturnaround.com to see how JRebel can work for you.

JRebel supports your complete technology stack…no switching needed

With JRebel, you don’t have to change to another IDE, app server or framework. You keep using the tools you know best, and JRebel does the rest from behind the scenes.

Does JRebel work for mobile apps?

JRebel for Mobile App Development (Android, Java ME) is under investigation…stay tuned! Although we’ve heard that long redeploys are not such an issue for Mobile App devs, we’ve been told that the build phase can be very annoying…we will be investigating the use of JRebel for mobile app development in 2012, so we’ll update you soon.

Ever wanted to show JRebel to other devs, bosses and statistics fans?

Oliver White

The Head of Rebel Labs for ZeroTurnaround, Oliver was turned from a marketing droid into a real boy in mid-2010 when he joined the team. While not a developer himself, he likes to simply gaze at code when not writing nine-thousand emails a day. Back when he had free time, Oliver liked books, films, dogs, large steaks, staring at large world maps and strolling through the deeply-forested parks of the Czech Republic, where he lives. You can connect with Oliver on LinkedIn.

More Posts - Website - Twitter

  • JAX Innovation Awards | Most Innovative Java Technology
  • 19th Annual Jolt Productivity Award
  • 2011 Duke's Choice Award
  • EAS Innovator 2011 Competition Winner
  • 2012 Eclipse Community | New Product Showcase Winner
  • 2012 SD Times 100
  • ITL | Breakthrough of the Year