沧海一粟

More know, more less

Java 工具(jmap,jstack)在linux上的源码分析(四)safe point

safe point 顾明思意,就是安全点,当需要jvm做一些操作的时候,需要把当前正在运行的线程进入一个安全点的状态(也可以说停止状态),这样才能做一些安全的操作,比如线程的dump,堆栈的信息。 在jvm里面通常vm_thread(我们一直在谈论的做一些属于vm 份内事情的线程) 和cms_...

2011-12-30 09:58:39

阅读数:3433

评论数:0

Java 中自旋锁的实现

Java中初始是使用mutex互斥锁,因为互斥锁是会线程等待挂起,而对获取锁后的操作时间比较短暂的应用场景来说,这样的锁会让竞争锁的线程不停的park,unpark 的操作,这样的系统的调用性能是非常糟糕的,为了提高锁的性能,java 在6 默认使用了自旋锁。 在Linux中本身就已经提...

2011-12-28 17:44:07

阅读数:7224

评论数:1

Java 工具(jmap,jstack)在linux上的源码分析(三)执行的线程vm thread

在前面的博客中(http://blog.csdn.net/raintungli/article/details/7034005)所提到的信号转发线程,Attach Listener 线程都只是操作socket文件,并没有去执行比如stack 分析,或者heap的分析,真正的工作线程其实是vm th...

2011-12-06 17:00:26

阅读数:6336

评论数:0

Java 工具(jmap,jstack)在linux上的源码分析(二)信号处理

当java虚拟机启动的时候,会启动很多内部的线程,这些线程主要在thread.cpp里的create_vm方法体里实现 而在thread.cpp里主要起了2个线程来处理信号相关的 JvmtiExport::enter_live_phase(); // Signal Dispatche...

2011-12-02 17:00:18

阅读数:6319

评论数:0

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