分享篇:使用HSDB查看jvm中动态生成的class
HSDB 是 HotSpot Debugger 的缩写。最近在研究动态代理的底层机制,JDK动态代理生成的字节码可以通过JDK提供的某个API获取,随便google一下就搜到了。
但唯独动态代理另一个常用技术——cglib,想要获取通过它生成的类的字节码,在网上找了一圈,花费数小时,搜索结果不甚理想。没有class字节码就去猜想cglib代理类的行为现象,是不够准确的。
最后,还是被我找到了一个比较容易操作的方法,就是用 HSDB。在老外圈子里还有用 Instrument API 和 ASM 的,不知道操作成本如何。不过还好我使用HSDB后,已经达到效果,所以也就不执著其他的方法了。最后将找到两篇的连接贴在下面,两篇都是讲 HSDB 的。
推荐链接:
《spring查看生成的cglib代理类源码详解》https://www.cnblogs.com/dengrong/p/10622594.html
《快速查看java动态生成class内容的方法》https://blog.csdn.net/wenyuan65/article/details/82634118