TravaOpenJDK在11.0.9版本中引入了一个新的JVM选项-XX:HotswapAgent。
有三种模式可以启用HotswapAgent,分别是“fatjar”、“core”和“external”。
“fatjar”和“core”之间有什么区别?
有三种模式可以启用HotswapAgent,分别是“fatjar”、“core”和“external”。
“fatjar”和“core”之间有什么区别?
HotswapAgent 核心除了核心JVM插件外没有其他插件。因此,它更快,因为需要执行的扫描任务更少,需要将较少的类复制到目标类加载器中,无需禁用插件。您只选择自己需要的。
加载的插件在日志中可见,“HOTSWAP AGENT:15:43:42.059 INFO(org.hotswap.agent.config.PluginRegistry)- Discovered plugins:”
对于core
:Hotswapper、WatchResources、AnonymousClassPatch、ClassInitPlugin、JdkPlugin
对于fatjar
:dkPlugin、Hotswapper、WatchResources、ClassInitPlugin、AnonymousClassPatch、Hibernate、Hibernate3JPA、Hibernate3、Spring、Jersey1、Jersey2、Jetty、Tomcat、ZK、Logback、Log4j2、MyFaces、Mojarra、Omnifaces、ELResolver、WildFlyELResolver、OsgiEquinox、Owb、Proxy、WebObjects、Weld、JBossModules、ResteasyRegistry、Deltaspike、GlassFish、Vaadin、Wicket、CxfJAXRS、FreeMarker、Undertow、MyBatis