public class HotSwapResolver extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
protected String[] |
classPathDirs |
protected String[] |
hotSwapClassPrefix |
protected String[] |
systemClassPrefix |
| 构造器和说明 |
|---|
HotSwapResolver(String[] classPathDirs) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addHotSwapClassPrefix(String prefix)
添加需要热加载的类前缀,由 HotSwapClassLoader 加载
重要:在热加载过后,如果出现类型转换异常,找到无法转换的类
调用本方法添加相关前缀即可解决
|
void |
addSystemClassPrefix(String prefix)
添加系统类前缀,系统类由系统类加载器进行加载
|
protected boolean |
findClassInClassPathDirs(String className) |
protected boolean |
findFile(String filePath,
String fileName) |
boolean |
isHotSwapClass(String className)
判断是否为热加载类文件,热加载类文件无条件使用 HotSwapClassLoader 加载
热加载类文件满足两个条件:
1:通过 hotSwapClassPrefix 指定的类文件
2:在 class path 目录下能找到的 .class 文件
|
boolean |
isSystemClass(String className)
判断是否为系统类文件,系统类文件无条件使用 parent 类加载器加载
|
protected String[] classPathDirs
protected String[] systemClassPrefix
protected String[] hotSwapClassPrefix
public HotSwapResolver(String[] classPathDirs)
public boolean isSystemClass(String className)
public boolean isHotSwapClass(String className)
protected boolean findClassInClassPathDirs(String className)
public void addSystemClassPrefix(String prefix)
public void addHotSwapClassPrefix(String prefix)
Copyright © 2019. All rights reserved.