JRebel (formerly JavaRebel)
Edit-compile-test-edit-compile-test. This is the "software development cycle" all programmers know well, from "Hello World" onwards. JavaRebel is a JAR file which will allow you to skip directly from "edit" to "test" while eliminating "compile" (most of the time).
Using JavaRebel is extremely simple: Just pass an appropriate command when you invoke your Java Virtual Machine. It took me about 30 seconds to get it working in Eclipse. Once it's there, it's transparent--and useful. To test it, I launched an application, then, while the application was running, added in some additional output code to the event handler for a button. After a second or two, I received a notice in my console window that the relevant classes had been reloaded, and the button now executed its modified behavior. I can foresee this saving me a tremendous amount of debugging time. Even a few minutes a day saved re-launching apps adds up, over a year, to hours or even days of productivity, depending on re-deployment time after minor edits.
There are a few changes it can't handle--you can't change class hierarchy or implement new interfaces, for example, but it's unlikely you'd be making changes like that during a standard edit-compile-test cycle. There is also a risk factor; if the app you're working on is "live," and you are careless with your configuration, you could introduce new bugs into running code. However, that's a user error and hardly the fault of the program.
The trial version lasts for 30 days and prints a message in the console window when run. This should be long enough to determine if the utility provided is worth it.
Note: This file comes in two licenses, Personal and Corporate. The license price shown here is for the Personal version. Older versions of Java may run on certain system configurations running older versions of Windows than those listed here. Check java.sun.com for full compatibility information.