编程语言只是一种工具,它不应该成为我们技术前进之路上的壁垒。

分享篇:使用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

posted on 2020-08-30 02:16  独角没有戏  阅读(425)  评论(0编辑  收藏  举报

导航