当前搜索:

java 原子操作在x86下的实现

JVM 6里面可以看到很多的CAS的操作,而我们来看看JVM里面是怎么实现CAS的操作,至于原子操作的语义在这里我们就不介绍了核心java源码是unsafe.javacompareAndSwapObjectcompareAndSwapIntcompareAndSwapLong。。。。 具体我们主要来看看 如何实现compareAndSwapObject的方法 u...
阅读(1869) 评论(1)

x86 下的 Ptrace 的 PTRACE_GETREGS 取寄存器的值

在java里的jstack -F/-m 在打线程的堆栈的信息在linux下的实现是用ptrace 来取被跟踪的进程的寄存器的信息,而这个取的request 的类型 是用PTRACE_GETREGS。 在linux 内核里2.6.35调用的ptrace系统函数是在kernel/ptrace.c里实现的.SYSCALL_DEFINE4(ptrace, long, request, long...
阅读(3971) 评论(0)

JVM Thread stop 的源码分析

在JVM, Thread.stop 是被阻止的方法,看原语义“该方法具有固有的不安全性。用 Thread.stop 来终止线程将释放它已经锁定的所有监视器(作为沿堆栈向上传播的未检查 ThreadDeath 异常的一个自然后果)。如果以前受这些监视器保护的任何对象都处于一种不一致的状态,则损坏的对象将对其他线程可见,这有可能导致任意的行为。stop 的许多使用都应由只修改某些变量以指示目标线程...
阅读(2756) 评论(0)

java 中的 wait 和 notify 实现的源码分析

在oracle JVM 1.6 里面实现的object的wait 和notify方法是在synchronizer.cpp里实现。 先介绍2个对象:1. ObjectMonitor  对象 主要用来监视创立的Object 在synchronizer.cpp 里定义了,ObjectMonitor 的对象,我们来看ObjectMonitor的对象的结构体ObjectMonitor::Ob...
阅读(5571) 评论(0)
    个人资料
    • 访问:464613次
    • 积分:5175
    • 等级:
    • 排名:第6024名
    • 原创:97篇
    • 转载:3篇
    • 译文:0篇
    • 评论:72条
    最新评论