对于热修复无非就是两大类,一类是tencent代表的classloader模式的,另一类是阿里系代表的底层方面替换。 下面以本人的经验介绍下微信的tinker接入: 命令行接入方式; gradle接入方式 1. 核心库引入,在你应用的app模块下build.gradle文件加入 4. proguar ...
分类:
其他好文 时间:
2019-06-06 14:02:28
阅读次数:
111
类加载器的种类 启动类加载器(Bootstrap ClassLoader) 执行结果:D:javajdkjrelib esources.jar;D:javajdkjrelib t.jar;D:javajdkjrelib sunrsasign.jar;D:javajdkjrelibjsse.jar;D ...
分类:
编程语言 时间:
2019-06-01 23:12:30
阅读次数:
142
一、IDEA热加载的作用: 热加载的作用就是当你保存修改,新增,删除代码或者文件后,不需要重新启动项目,直接就能运行。 二、IDEA热记载的配置方法 1.配置pom文件,加载依赖 Maven. org.springframework.boot spring-boot-devtools true Gr... ...
分类:
其他好文 时间:
2019-05-27 10:33:39
阅读次数:
821
前言: 说下这篇文章的来龙去脉:昨天接到了阿里小哥哥的面试电话,小哥哥问我jvm加载类的过程。然后我巴拉巴拉说了一堆classLoader装载类的过程。然后小哥哥说我不是要问这些。。。好吧装载加载傻傻分不清楚。 jvm加载类过程(本人不会,以下内容由小哥哥解释给我听的): classLoader装载 ...
分类:
其他好文 时间:
2019-05-25 12:59:35
阅读次数:
99
java.lang.SecurityException: Prohibited package name: java at java.lang.ClassLoader.preDefineClass(ClassLoader.java:662) at java.lang.ClassLoader.defi ...
分类:
其他好文 时间:
2019-05-19 09:50:38
阅读次数:
123
ClassLoader定义 ClassLoader种类 BootStrapClassLoader无法在IDEA里面查看源代码,只能看JVM 源码才能找到。 ExtClassLoader,会从System.getProperty("java.ext.dirs") 寻找.class 文件 AppClas ...
分类:
编程语言 时间:
2019-05-12 19:53:27
阅读次数:
158
Copy备用 之前客户要求在不重启应用的前提下实现动态增加服务及交易,在网上查了很长时间也没发现类似的技术,最后研究了一下ClassLoader。因为项目是与Spring,一开始我和同事尝试替换源码的class文件,然后调用Spring的refresh()函数刷新上下文,但是发现原来的类没有被新的类 ...
分类:
其他好文 时间:
2019-05-12 10:23:09
阅读次数:
113
破镜如何贴花黄 在 系统无法热加载,总是报错! 是一款文档编写利器,可以方便地 输出成美观优雅的 , 启动服务器后,原来相貌平平的 丑小鸭摇身一变就成了倾国倾城的 绝色佳人. 如果源文件发生更改, 却无法按照预期那样重启服务器,直接抛出一个异常,立即终止了 的化妆. 对镜贴花黄 现在看一下 灰姑娘变 ...
加载流程 当运行一个程序时,JVM启动 运行 bootstrap classloader,该ClassLoader加载Java核心API(ExtClassLoader和AppClassLoader也在此时加载) 调用ExtClassLoader加载扩展API APPClassLoader加载CLAS ...
分类:
其他好文 时间:
2019-05-06 14:40:22
阅读次数:
128
类加载过程 加载->链接(验证,准备,解析)->初始化 1.加载: 利用io从文件系统中读取.class文件,通过类加载器(classLoader)进字节码加载到计算机内存中供Jvm使用。 java的四种类加载器(父加载器->子加载器) 1引导类加载器:加载Java 的核心库 2扩展类加载器:加载j ...
分类:
编程语言 时间:
2019-05-05 17:22:41
阅读次数:
121