`
snowm
  • 浏览: 1247 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表

jstack使用

    博客分类:
  • JVM
都知道jstack是干嘛的 本文讲如何看它的输出内容: 1. synchronized 已经进入临界区,sleep,在边界等待   @Test public void testSync() { final String s = "test"; Runnable task = new Runnable() { public void run() { synchronized (s) { try { ...

synchronized

    博客分类:
  • JVM
​首先说下其使用特点: 排他:一个对象的锁只在一个时间段内,只能被一个线程持有,其它企图持有锁的线程都处于blocked状态(或是自旋状态running) 非公平:不是先申请就能先得到锁(jdk1.5后,ReentrantLock可以代替synchronized,可选择公平还是非公平,不过公平锁的吞吐量要低很多,数倍,ReentrantLock的效率不一定更高,但是代码会更易读)   内部: 先介绍下对象头信息,JVM里面每个对象都有一个对象头,普通对象两个字,数组3个字(字长为虚拟机位数,32、64) 长度 内容 说明 字(32/64) Ma ...
Global site tag (gtag.js) - Google Analytics