![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java实现热部署
热部署涉及到的一些知识以及实战
柠檬好酸啊
这个作者很懒,什么都没留下…
展开
-
Java实现热部署(四):热部署插件分析
插件介绍介绍一个插件,插件地址:https://github.com/liuzhengyang/lets-hotfix。这个插件可以实现热部署,插件的原理原理和前几篇文章中说的原理是一样的。这个插件的具体的使用方式在GitHub上面有详细的说明。插件可以在网页端使用也可以安装idea插件进行热部署。代码分析GitHub中的代项目目录大致分成了这几个部分,我们来一个一个分析。整体的结构和实现的功能图如下:agent这部分原理很好懂,之前我们也讲到过。这里插件实现的主要功能就是通过后端传递过来的文原创 2020-11-04 21:33:11 · 1369 阅读 · 1 评论 -
java实现热部署(三):agent instrumentation attach等手段实现方法体级别的热替换
文章目录Instrumentagentagent加载agent premain举例attachattach api原理InstrumentInstrumentation是Java提供的一个来自JVM的接口,该接口提供了一系列查看和操作Java类定义的方法,例如修改类的字节码、向classLoader的classpath下加入jar文件等。使得开发者可以通过Java语言来操作和监控JVM内部的一些状态,进而实现Java程序的监控分析,甚至实现一些特殊功能(如AOP、热部署)。基于 Instrumenta原创 2020-10-30 21:16:14 · 1901 阅读 · 1 评论 -
Java实现热部署(二):java类加载过程代码分析
从Launcher看起ExtClassLoader 和 AppClassLoader不是继承关系,而是通过指定 parent 属性来形成的组合模型public Launcher() { Launcher.ExtClassLoader var1; try { // 获取扩展类加载器,getExtClassLoader()是用了double check的单例模式,和之前背过的东西相遇了。 var1 = Launcher.ExtClassLoader.getEx原创 2020-10-23 15:44:15 · 249 阅读 · 0 评论 -
Java实现热部署(一):类加载机制以及简单热部署的实现
文章目录类加载机制以及热部署的实现类加载器类加载时机与过程类加载器种类类加载器特性双亲委派模型自定义类加载器MyClassLoader测试类通过main方法调用类似springboot启动的方式类加载机制以及热部署的实现回顾一下Java类加载相关的知识点,主要是类加载器,加载模型等。并且实现一个小的Java热部署的demo类加载器类加载时机与过程类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparatio原创 2020-10-23 15:41:39 · 1703 阅读 · 4 评论