Javassist整理
大约 2 分钟
ClassPool.get(classFullName) 执行成功的条件 满足一条即可
- classFullName对应的class是由ClassPool创建的
- 执行的时候存在对应的class二进制文件
因此,如果classFullName代表的是由其他二进制框架动态生成的Class对象,那么get方法是会抛出异常的。
CtClass对象是一个class文件的抽象,它封装了一个class文件的数据结构。因此要构造出这样的数据结构,要么是从头构造(makeClass),要么读取一个class文件。所以这也印证了第一点。
由于ClassPool需要保留所有的CtClass对象,所以如果当CtClass数量很大的时候,ClassPool可能会占用很大的内存,所以如果已知某些CtCalass对象不会再被使用,可以调用其detach方法从ClassPool中移除
系统推荐
- ES6.2.3(3节点)数据迁移到ES7.4.1(5节点)
- Markdown Mermaid画图实例
- 乱七八糟的笔记
- 数据同步方案
- MySQL索引
- 推荐几个适用小工具
- MyBatis xml特殊字符处理
- MySQL三大日志
- JVM杂项
- RocketMQ
- PostgreSQL JSON类型字段常用操作
- https和http混用解决办法
- 随机毒鸡汤:被一道题难住了,我把题目对着天空讲了一遍,毕竟人算不如天算。