Sun Microsystems Laboratories Experimental Stuff HotSwap Client Tool

Description

This is a GUI client tool that provides access to the HotSwap functionality available in the Java HotSpot™ Virtual Machine starting from JDK™ 1.4. Using this tool, you can dramatically improve the time of the usual "test - find a bug - stop the program - change - recompile - restart the program" development cycle by removing the "stop" and "restart" elements from it. Furthermore, you can use it to patch "on-the-fly" deployed applications that need to run uninterrupted.

HotSwap is a short name for the dynamic class redefinition capability of the Java HotSpot VM, that allows developers and administrators to change a class inside the JVM™ at run time - possibly a long time after this class has been loaded. You may find more information and white papers on the HotSwap project here. Note that in JDK 1.4, only the basic level of class redefinition capabilities is supported. That is, in the new class version it is possible to change only method code. More sophisticated changes may be supported in future versions of JDK.

There are multiple ways to access the HotSwap functionality in the JVM. Some Java IDE vendors are going to support it in their IDEs to implement what is known as the "fix-and-continue" feature. It is also possible to write a native method in your application which will call the low-level C API of HotSwap directly.

Our HotSwap client tool is provided to help developers access the HotSwap technology when an application is running in testing or deployed mode. This tool can attach to the running JVM, make some simple inquiries to it, and perform dynamic class redefinition on-the-fly. At the very least, developers can use it to diagnose certain bugs (which may be hard to exercise during test runs with simulated workloads) by adding trace printing operators in arbitrary places of the running program. Ideally, it should allow them to make, at run time, many of the changes that they would otherwise make off-line, thus reducing development turnaround time and/or eliminating disruption due to application shutdowns and upgrades.

This page is: http://www.experimentalstuff.com/Technologies/HotSwapTool/index.html
Last Modified: Thu, 02 May 2002 22:59:50 GMT
copyright (c) 2000-2009, Sun Microsystems