I just saw JavaRebel from ZeroTurnaround.com, which promises to "reload changes to Java classes on-the-fly without redeploy or restart including new methods and fields. It is a generic solution that works for standalone Java applications as well as application servers."
This is the dream within a dream for Java development. One of the main reasons I moved to Ruby on Rails for web development is due to the much faster development cycle of Change then Test. Back in my Java days, it was Change, Compile, Wait 5 minutes to deploy, Bounce the server, then Test.
If JavaRebel can do what it says (and I haven't tried it) then all you Java developers out there might suddenly get a lot more productive. If you've used this tool, drop me a comment.