首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏区块链实战

    动态模块化MVC框架研究 Java HotSwap

    那么抱着这套想法,进行了研究开发之旅,研究什么?动态的模块化插件化的MVC框架,大家说这有没有市场?

    85110发布于 2019-03-26
  • 来自专栏一个会写诗的程序员的博客

    IDEA 热部署配置 HotSwapAgent-IntelliJ-IDEA-plugin

    jvm_hotswap_ok BUT! jvm_hotswap_fail Solution We need to use special java agent together with our JVM to enhance ability Download latest release of Hotswap agent jar, unpack hotswap-agent.jar and put it anywhere on your disc For example: C:\java\hotswap-agent.jar 4. Installation is done! 5. You will see HOTSWAP AGENT notification in your console in case if setup was correctly done.

    2.4K40发布于 2020-09-28
  • 来自专栏朱永胜的私房菜

    【面试题精讲】JVM-JDK9之后的类加载器

    利用模块系统与类加载器实现了双亲委派的全量类加载器执行顺序变更 按照双亲委派模型执行全量类加载器 拓展类加载器与系统类加载器分离 拓展类加载器与系统类加载器分离,拓展类加载器只加载 JDK 本身的扩展模块 拓展类加载器与系统类加载器混合在一起 热替换(HotSwap ) 引入了更先进的 HotSwap 实现,支持在运行时替换代码和重新定义类 HotSwap 功能有限,只能替换某些特定方法的实现 新的类加载器 引入了jimage类加载器和AppCDS类加载器 没有这些新的类加载器

    35320编辑于 2023-10-28
  • 来自专栏JavaEdge

    intellij idea tomcat热部署配置1.设置Debugger-HotSwap2.项目设置3.配置tomcat

    1.设置Debugger-HotSwap 在setting界面,打开Debugger-HotSwap选项,确保勾选了Build project before reloading classes,同时选择 这样我们在编译某个修改了的java文件之后,就会利用HotSwap机制reload class,而Build project before reloading classes就确保了其他修改过的文件一起同步到部署目录

    1.7K10发布于 2018-08-02
  • 来自专栏亚灿网志

    「windows」PC小工具分享

    官网链接:https://getsharex.com/ HotSwap Windows上有一个很离谱,很难搞的问题: 每当你想弹出U盘或者移动硬盘的时候,总会遇到这个难搞的问题。 喜欢直接拔U盘或者移动硬盘的可以直接跳过这个软件~ HotSwap!可以帮你完美解决这个问题,在任何时候都可以强制安全弹出U盘或者移动硬盘。 官网链接:http://mt-naka.com/hotswap/index_enu.htm TrafficMonitor 一个PC系统监控软件,可以监控CPU、GPU、内存以及流量。

    65110编辑于 2023-05-17
  • 来自专栏芋道源码1024

    芋道 Spring Boot 热部署入门

    旁白君:严格来说,应该叫 HotSwap 的方式,翻译成中文会有热部署、热更新、热替换、热加载等等多种。这里,我们就采用大家可能说的比较多的翻译,热部署。 IDEA 提供了 HotSwap 插件,可以实现真正的热部署。如下图所示: ? 3.1 演示 下面,我们来演示下 HotSwap 插件的使用。 ③ 尝试将 Build project automatically 勾选上,希望实现自动编译,再搭配上 HotSwap 插件的热部署,岂不是更香?! 因为 IDEA 自带的 HotSwap 插件已经能够满足我们的热部署的诉求,所以本文也不多哔哔啥了。真的感兴趣的胖友,可以看看《IDEA JRebel 插件热部署(史上最全)》文章。

    1.6K20发布于 2020-04-01
  • 来自专栏架构之路

    谁还没遇上过NoClassDefFoundError咋地——浅谈字节码生成与热部署

    字节码、Instrument与hotswap那些事儿 这次的问题,最后查出来原因是线上attach的那个jar文件修改了Log相关的类,在properties里面放入了非String类型的对象,然后上面的 类替换:Instrument与hotswap 对于jdk和cglib的生成方式来说,不存在这类烦恼,在程序运行时就可以以java的方式拿到新的对象。 这样,我们就可以启动我们的程序,然后启动VirtualMachine,开始修改类,修改完后,再调用Instrumentation.redefineClasses方法来更新类,这就是轻量级的hotswap 这样的话,如果我们需要对一个类的功能做出修改,那么我们只需要丢弃它的类加载器(和它的对象),然后重新创建一个类加载器,再加载修改过的类,从而绕过了jvm的限制,实现了hotswap的功能。 当然,在使用这种方式的hotswap时,你必须足够小心,以避免因为类泄露造成OOM(说的更确切一点,不要让对象在不经意间逃逸出当前classloader的context,特别要注意...线程池)。

    1.2K30发布于 2018-07-06
  • 来自专栏网络收集

    动态加载子类热更

    com.cm4j.registry.RegistryManagerTest - 热更新前的类:class com.cm4j.demo.util.DemoUtil[main] ERROR com.cm4j.hotswap.recompile.RecompileHotSwap - class dumpd: D:\Projects\others\cm4j-projects\cm4j-all\cm4j-hotswap\recompile-output\DemoUtil$$$SUBCLASS -20211111161652.class[main] ERROR com.cm4j.registry.AbstractRegistry - [hotswap] success:class com.cm4j.demo.util.DemoUtil

    63240编辑于 2022-03-23
  • 来自专栏微信公号【Java技术江湖】

    从Java的类加载机制谈起:聊聊Java中如何实现热部署(热加载)

    参考文档 : 1.Tomcat 热部署实现方式源码分析总结 2.提高开发效率-jrebel插件安装 HotSwap和JRebel原理 HotSwap和Instrumentation 在2002年的时候, [hotswap] 不幸的是,这种重定义仅限于修改方法体——除了方法体之外,它既不能添加方法或域,也不能修改其他任何东西。 这些情况导致了HotSwap很少被使用,较之应该可能被使用的频度要低。 为什么HotSwap仅限于对方法体起作用? 自从引入了HotSwap之后,在最近的10年,这一问题已经被问了非常多次。 对于初学者来说,JRebel工作在与HotSwap不同的一个抽象层面上。 我们还讨论了导致HotSwap局限性的原因,揭示了JRebel幕后的工作方式,以及讨论了在解决类重载问题时出现的其他问题。

    4.4K20编辑于 2021-12-08
  • IDEA 2025 年末宝藏插件推荐:实用感拉满!

    HotSwapHelper 智能热更新助手,让 Java 热替换(HotSwap)不再「抽风」! 问题背景 JVM 原生 HotSwap 仅支持方法体修改,字段/签名变更即失效,需重启(≈30s+)。

    44200编辑于 2026-02-27
  • 来自专栏芋道源码1024

    IDEA + Spring Boot 的三种热加载方案,看完弄懂,不用加班~

    “旁白君:严格来说,应该叫 HotSwap 的方式,翻译成中文会有热部署、热更新、热替换、热加载等等多种。这里,我们就采用大家可能说的比较多的翻译,热部署。 IDEA 提供了 HotSwap 插件,可以实现真正的热部署。如下图所示: ? 3.1 演示 下面,我们来演示下 HotSwap 插件的使用。 ③ 尝试将 Build project automatically 勾选上,希望实现自动编译,再搭配上 HotSwap 插件的热部署,岂不是更香?! 因为 IDEA 自带的 HotSwap 插件已经能够满足我们的热部署的诉求,所以本文也不多哔哔啥了。真的感兴趣的胖友,可以看看《IDEA JRebel 插件热部署(史上最全)》文章。

    56.9K106发布于 2020-08-20
  • 来自专栏AI粉嫩特攻队

    Intellij如何设置编译后自动重新加载class文件?

    后来自己在Intellij的项目配置界面捣鼓,终于找到了方法,就是在Debugger配置节点下的HotSwap节点中找到 Reload classes after compilation选项,选择Ask

    3.4K30发布于 2019-09-10
  • 来自专栏java一日一条

    在 Java 中运用动态挂载实现 Bug 的热修复

    大多数 JVM 具备 Java 的 HotSwap 特性,大部分开发者认为它仅仅是一个调试工具。利用这一特性,有可能在不重启 Java 进程条件下,改变 Java 方法的实现。 然而 HotSwap 可以在生产环境中实现这一功能。通过这种方式,不用停止运行程序,就可以扩展在线的应用程序,或者在运行的项目上修复小的错误。 但 HotSwap 给我们提供了另外一种选择:在不重启应用的前提下进行小幅改动。

    1.4K20发布于 2018-09-14
  • 来自专栏精讲JAVA

    深入探索 Java 热部署

    类加载的探索 首先谈一下何为热部署(hotswap),热部署是在不重启 Java 虚拟机的前提下,能自动侦测到 class 文件的变化,更新运行时 class 的行为。 className); return cl.getByteCode(className); } return null; } 至此,所有的工作大功告成,欣赏一下 hotswap 结束语 解决 hotswap 是个困难的课题,本文解决的仅仅是让新实例化的对象使用新的逻辑,并不能改变已经实例化对象的行为,如果 JVM 能够重新设计 class 的生命周期,支持运行时重新更新一个 class ,hotswap 就会成为 Java 的一个闪亮新特性。

    1.2K10发布于 2018-10-26
  • 来自专栏Java学习网

    Java开发 中运用动态挂载实现 Bug 的热修复

    大多数 JVM 具备 Java 的 HotSwap 特性,大部分开发者认为它仅仅是一个调试工具。利用这一特性,有可能在不重启 Java 进程条件下,改变 Java 方法的实现。 然而 HotSwap 可以在生产环境中实现这一功能。通过这种方式,不用停止运行程序,就可以扩展在线的应用程序,或者在运行的项目上修复小的错误。 但 HotSwap 给我们提供了另外一种选择:在不重启应用的前提下进行小幅改动。

    1.5K30发布于 2018-12-07
  • IDEA 2025提升开发体验的宝藏插件推荐

    3.HotSwapHelper智能热更新助手,让Java热替换(HotSwap)不再「抽风」!问题背景JVM原生HotSwap仅支持方法体修改,字段/签名变更即失效,需重启(≈30s+)。

    1.2K10编辑于 2025-12-26
  • 来自专栏Spark学习技巧

    探索 Java 热部署的奥妙

    类加载的探索 首先谈一下何为热部署(hotswap),热部署是在不重启 Java 虚拟机的前提下,能自动侦测到 class 文件的变化,更新运行时 class 的行为。 className); return cl.getByteCode(className); } return null; } 至此,所有的工作大功告成,欣赏一下 hotswap 结束语 解决 hotswap 是个困难的课题,本文解决的仅仅是让新实例化的对象使用新的逻辑,并不能改变已经实例化对象的行为,如果 JVM 能够重新设计 class 的生命周期,支持运行时重新更新一个 class ,hotswap 就会成为 Java 的一个闪亮新特性。

    95850发布于 2019-05-23
  • 来自专栏浪浪山下那个村

    nameNode启动过程源码分析

    RENAMERESERVED("-renameReserved"), METADATAVERSION("-metadataVersion"), UPGRADEONLY("-upgradeOnly"), HOTSWAP ("-hotswap"), OBSERVER("-observer"); 模型情况下会走到启动的启动的流程里面。

    33030编辑于 2023-11-06
  • 来自专栏程序通事

    手把手教你实现热更新功能,带你了解 Arthas 热更新背后的原理

    文章来源:https://studyidea.cn/java-hotswap 一、前言 一天下午正在摸鱼的时候,测试小姐姐走了过来求助,说是需要改动测试环境 mock 应用。 --指定最后产生 jar 名字--> <finalName>hotswap-jdk</finalName> <appendAssemblyId>false</appendAssemblyId 源代码地址:https://github.com/9526xu/hotswap-example 4.3、调试技巧 普通的应用我们可以在 IDE 直接使用 Debug 模式调试程序,但是上面的程序无法直接使用

    2.2K30发布于 2019-11-18
  • 来自专栏用户3206217的专栏

    【RuoYi-SpringBoot3-Pro】:热更新,设置一次,效率翻倍

    激活页面,填写上面任一方式获取的URL,邮箱随意填激活后将JRebel设置为Workoffline方案对比特性SpringBootDevToolsJRebel原理重启ClassLoader(Restart)HotSwap

    25210编辑于 2026-01-21
领券