hengyunabc的专栏

日落黄金台金黄落日 -- 横云断岭

从java9共享内存加载modules说起

jdk9后加载lib/modules的方式 从jdk的代码里可以看出来,默认的实现加载lib/modules是用mmap来加载的。 class NativeImageBuffer { static { java.security.AccessController.d...

2018-02-23 15:35:19

阅读数:250

评论数:0

深入JVM分析spring-boot应用hibernate-validator NoClassDefFoundError

问题 可重现的Demo代码:demo.zip 最近排查一个spring boot应用抛出hibernate.validator NoClassDefFoundError的问题,异常信息如下:Caused by: java.lang.NoClassDefFoundError: Could not i...

2017-05-10 01:16:26

阅读数:2455

评论数:5

详细分析罕见的ClassCircularityError异常导致的StackOverflowError

先打一个广告。greys是一个很不错的java诊断工具:https://github.com/oldmanpushcart/greys-anatomy最近尝试用greys来实时统计jvm里的异常生成数量,在增强Throwable时,发现应用会抛出StackOverflowError。下面记录详细的...

2016-04-10 13:11:46

阅读数:3231

评论数:0

从java进程里dump出类的class文件的小工具--dumpclass

Serviceability Agent想要查看一些被增强过的类的字节码,或者一些AOP框架的生成类,就需要dump出运行时的java进程里的字节码。从运行的java进程里dump出运行中的类的class文件的方法,所知道的有两种 用agent attatch 到进程,然后利用Instrument...

2016-04-09 19:50:04

阅读数:4181

评论数:0

Java的LockSupport.park()实现分析

LockSupport类是Java6(JSR166-JUC)引入的一个类,提供了基本的线程同步原语。LockSupport实际上是调用了Unsafe类里的函数,归结到Unsafe里,只有两个函数: public native void unpark(Thread jthread); pu...

2014-06-03 02:52:12

阅读数:22791

评论数:5

利用hsdis和JITWatch查看分析HotSpot JIT compiler生成的汇编代码

安装hsdis 要查看JIT生成的汇编代码,要先装一个反汇编器:hsdis。从名字来看,即HotSpot disassembler。 实际就是一个动态链接库。网络上有已经编绎好的文件,直接下载即可。 国内的:http://hllvm.group.iteye.com/ 也可以自己编绎,只是编...

2014-05-25 15:04:26

阅读数:7542

评论数:2

编绎调试HotSpot JVM及在Eclipse里调试

编绎整个OpenJDK要很久,而且有很多东西是不需要的。研究HotSpot的话,其实只要下HotSpot部分的代码就可以了。 下面简单记录下编绎调试HotSpot一些步骤。 一、编绎 进入hotsopt的make目录下: cd code/cpp/openjdk/hotspot/make/ ...

2013-12-08 16:20:29

阅读数:7394

评论数:2

提示
确定要删除当前文章?
取消 删除
关闭
关闭