Javassist整理
-
ClassPool.get(classFullName) 执行成功的条件
满足一条即可- classFullName对应的class是由ClassPool创建的
- 执行的时候存在对应的class二进制文件
因此,如果classFullName代表的是由其他二进制框架动态生成的Class对象,那么get方法是会抛出异常的。
-
CtClass对象是一个class文件的抽象,它封装了一个class文件的数据结构。因此要构造出这样的数据结构,要么是从头构造(makeClass),要么读取一个class文件。所以这也印证了第一点。
-
由于ClassPool需要保留所有的CtClass对象,所以如果当CtClass数量很大的时候,ClassPool可能会占用很大的内存,所以如果已知某些CtCalass对象不会再被使用,可以调用其detach方法从ClassPool中移除
系统推荐
- Oh My ZSH
- Git笔记
- RSA 加密解密多语言实现方案
- KVM方式集群部署ES
- Hadoop 一
- 高可用通用方案
- 多台centos服务器,文件互相备份
- PGSQL的json和 jsonb 读写性能测试
- CountDownLatch源码解读
- ReentrantLock源码解读
- Linux dev shm目录
- 表单重复提交解决方案
- 随机毒鸡汤:知道为什么你懒,而且运气不好吗?因为运气都懒得理你。