镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Hot Code Replace

Jinbo Wang edited this page Apr 25, 2021 · 6 revisions

Prerequisite

java.autobuild.enabled user setting is not disabled.

Limitation

The Hot Code Replace feature depends on the underlying JVM interface VirtualMachine#redefineClasses, and different JVM implementations will have different limitations. Using a typical oracle JDK as an example, below are limitations of Hot Code Replace:

  • It's only available if a method body is modified. If succeeded, it will pop into the top most call stack that involving the changed types.
  • Changing method signatures such as modifying method names and parameters is not supported.
  • Adding and removing class members is not supported.
  • Changes on the top call stack are not supported.
  • Changes on the call stack above the native methods are not supported.

When you see these HCR failures, don't worry. It is safe to continue running the application, but you may notice discrepancies when debugging this application.

Clone this wiki locally