如何通过Jar快速大致了解其核心原理?
最近在搜jar包时发现了一个有意思的事情,其实很多jar包通过看其依赖的类库就可以大致了解其核心原理。
往往显而易见的东西容易被人们忽略!!
举个栗子:
我们想猜测或者大致了解cglib和orika对象属性转换或者类库的核心原理是啥。
从maven仓库里分别搜一下cglib和orika:
https://mvnrepository.com/artifact/cglib/cglib/3.2.11
orika
https://mvnrepository.com/artifact/ma.glasnost.orika/orika-core/1.5.4
根据最左侧的 “Bytecode”标签或者分类,看到orika上面的"Reflection"标签,然后结合我们的了解,可以猛然清醒的认识到:
orika用的是javassist 和paranamer,而cglib用的是asm的字节码的操作实现其核心功能!!!
可以大致了解,然后具体再进到源码中看就好了。
另外通过查看他们依赖的类库,或者点击对应标签查看字节码、反射等常见用的比较多的类库,并查看标签我们可以在合适的场景,使用它们依赖的类库封装我们自己的功能。
如果觉得本文对你有帮助,欢迎点赞评论,欢迎关注我,我将努力创作更多更好的文章。