"WandFix" 是一个基于java ClassLoader实现的热修复框架。 效果展示: 优点: 类似于黄油刀可以直接对成员变量添加@InjectObject("com.example.motordex.AppParsenterImpl2")注解,来绑定热修复包中的实现类。 无需关闭应用即可使修 ...
分类:
移动开发 时间:
2019-01-02 15:00:24
阅读次数:
229
1.1 tomcat类加载机制 1.1.1 概览 Bootstrap | System | Common / \ Webapp1 Webapp2 ... 备注:这里的加载模型和jvm的三层classloader有区别。总体思想类似。 1.1.2 各层加载器 1.1.2.1 Bootstrap 此类加 ...
分类:
其他好文 时间:
2018-12-24 20:59:29
阅读次数:
144
类加载器就是用来加载类的对象,而ClassLoader是一个抽象类,只要给出类的二进制名称,类加载器就能确定或生成构建这个类的定义;通常是把二进制名称转成文件系统的文件名,再读入这个类文件。 每个类对象都拥有getClassLoader 这个方法; 数组创建的类对象不是由类加载器加载的,而是运行时按 ...
分类:
其他好文 时间:
2018-12-23 15:16:07
阅读次数:
119
在项目中有时为了实现热部署,需要动态加载指定路径下的.class文件 一般很少使用自定义的类加载器,而是用URLClassLoader去加载指定路径下的.class文件 URLClassLoader 默认是去加载jar包下的.class文件 上述代码仅针对特定文件结构可以根据实际情况完善 下面记录一 ...
分类:
其他好文 时间:
2018-12-20 22:45:46
阅读次数:
170
当秘钥长度超过128位(即16字符时),会加密失败,报“java.security.InvalidKeyException: Illegal key size or default parameters”的异常,因此需要去掉该限制 处理的方法由三种,分别是直接替换或是自定义classloader加载 ...
分类:
其他好文 时间:
2018-12-20 18:54:12
阅读次数:
483
0. 为什么需要自定义类加载器 网上的大部分自定义类加载器文章,几乎都是贴一段实现代码,然后分析一两句自定义ClassLoader的原理。但是我觉得首先得把为什么需要自定义加载器这个问题搞清楚,因为如果不明白它的作用的情况下,还要去学习它显然是很让人困惑的。 首先介绍自定义类的应用场景: (1)加密 ...
分类:
其他好文 时间:
2018-12-19 15:53:39
阅读次数:
183
以前确实没关注过这个知识点,现在复习的时候,好多文章都提到了类加载过程。并且在讲解反射知识点的时候肯定会提到ClassLoader。今天总结回顾下: JAVA类装载方式,有两种: 1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中。 2.显式装 ...
分类:
编程语言 时间:
2018-12-16 21:30:12
阅读次数:
200
热启动:修改代码保存时会自动重新启动项目。 热部署:动态替换你修改的class,效率会更高。 热部署是什么 编译生成Class 文件,文件里记录着和代码等对应的元数据,然后 Class 文件将被虚拟机的 ClassLoader 加载。 热部署利用class文件修改的特点,监听class文件是否有改动 ...
分类:
编程语言 时间:
2018-12-13 11:28:11
阅读次数:
169
classloader简介 1 classloader层次结构(父子关系) Bootstrap(ClassLoader) ExtClassLoader AppClassLoader XXXClassLoader AppClassLoader XXXClassLoader XXXClassLoader ...
分类:
编程语言 时间:
2018-12-13 01:24:19
阅读次数:
222
前言 Tomcat自带的日志实现是 ,它是对默认的JDK日志java.util.logging进行一定的封装,和标准JDK日志支持相同的配置,但是和log4j等常用的日志框架比起来功能要较为简陋。但是tomcat juli可以针对不同的classloader来使用不同的配置文件,使得tomcat下不 ...
分类:
编程语言 时间:
2018-12-12 22:39:08
阅读次数:
550