Hot class reloading¶
Hot class reloading is a Java development technique that allows modified class files to be reloaded into a running Java Virtual Machine (JVM) without requiring a restart.^[600-developer__java__black-technology__javaagent.md] This process updates the application's bytecode in real-time, ensuring that code changes take effect immediately while preserving the runtime state of the process.^[600-developer__java__black-technology__javaagent.md]
Implementation¶
This capability is typically realized through the use of Java Agents.^[600-developer__java__black-technology__javaagent.md] A Java Agent is a specialized component designed to intercept and manipulate bytecode at runtime.^[600-developer__java__black-technology__javaagent.md]
To function, the agent must be packaged as a JAR file containing a specific manifest entry (Premain-Class) and be attached to the JVM via the -javaagent command-line argument.^[600-developer__java__black-technology__javaagent.md] This enables the agent to execute logic before the application's main method starts and facilitates the underlying class reloading mechanism.^[600-developer__java__black-technology__javaagent.md]
Related Concepts¶
- javaagent
- [[Bytecode manipulation]]
Sources¶
600-developer__java__black-technology__javaagent.md