什么是Java热更新?

Java技术 潘老师 3年前 (2021-09-24) 1358 ℃ (0) 扫码查看

昨晚在闲鱼上有个做游戏开发的咨询实现Java热更新,无奈潘老师之前没做过,只能直言“不做”,别问为啥,问就是“我也不会” :!: 真是书到用时方恨少啊,于是立马就来研究下什么是Java热更新?
什么是Java热更新?

一句话说明白什么是Java热更新?

在不重启服务器的前提下对项目代码实现局部更新与替换,称为热更新

Java热更新这个需求主要来源于以下两个场景:
(1)线上代码出现bug,可能需要追加打印日志或者增加一些调试代码,如果我们去改代码重新部署,会破坏问题现场,可以通过热部署的手段来增加调试代码
(2)线上出现紧急bug,通过Review代码找到问题,修改好后打包部署的流程可能比较久,可以通过热部署代码及时解决问题

使用什么技术实现Java热更新?

一般有两种技术手段可以实现Java热更新,一种是agentmain,一种是使用阿里巴巴的开源框架Arthas,Java潘老师更建议使用框架解决,毕竟Arthas(阿尔萨斯)是 Alibaba 开源的一款 Java 诊断工具,使用它我们可以监控和排查 Java 程序,而且它还提供了非常实用的 Java 热更新功能。相对而言,使用起来更方便,避免重复造轮子!

具体的使用方法可以参考这一篇博文,写的很不错:

漫画:Java如何实现热更新?-CSDN博客

文章浏览阅读4.3k次,点赞5次,收藏15次。Arthas(阿尔萨斯)是 Alibaba 开源的一款 Java 诊断工具,使用它我们可以监控和排查 Java 程序,然而它还提供了非常实用的 Java 热更新功能。所谓的 Java 热..._java8热更新

果然还是要多学东西啊,知识就是财富,虽然在目前我的工作中Java热更新这种技术基本不用(在游戏行业用的较多,毕竟停服不仅影响用户体验还少赚钱),但了解下还是很好处的,继续努力吧!


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/3734.html
喜欢 (2)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】