Why Classghost ?
If you work on a medium to large project with java and especially if you work with JDBC or Swing, there will be many occassions where even for small changes you need to stop and restart the application. Somethimes this can take a lot of time, as when you are working on some distributed application.
Reason 1 : When you use JDBC
If you have used JDBC, then chances are that you have mistyped the bind parameters, or the number of parameters to be bound, or if you use java code to put your SQL query, you goofed up the query or need to change it. It might be just a small change but nevertheless, assuming your jdbc code runs inside an appserver(and even if its not), you need to bring down the application re-build it, and restart the application and re-deploy it!(even hot-deployment takes way too long !) Whoah .. thats a lot of work for changing the 'WHERE' clause or the number of '?' you've put for bind parameters. This is where class ghost really helps. You just change your code and compile/build it on your local machine as usual, but instead of bringing down the application, you just let classghost connect to the JVM running the appserver/application, and classghost can work wonders for you. Once connected, just point classghost to the newly compiled/built class files, and voila... Classghost gets inside the remote JVM(which runs the appserver/application) and injects the new class definitions ! fire your query again and there you are .. easy debugging/testing huh ?
Reason 2 : When you use Swing
If you use java swing, probably you have wished why on earth layouts are so hard to perfect. You have made some changes and want to see how the work looks. You rebuild, and start up the appliaction, navigate though numerous forms and reach your new form. "That button needs to move two pixes to the left " screams you boss... "Doh ! back to the code !". If that sounds like a typical day for you, class ghost can help. Simply make those changes,rebuild and inject ! Close and reopen just you screen/form and voila... the new changes are effective !
Reason 3 : When you use just about anything in Java
Classghost is for everybody ! If you work on java, and you hate frequently restarting the application evertime you make an itty bitty change, then classghost is for you. !