自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

寒武没有纪

Stay hungry Stay foolish

  • 博客(5)
  • 收藏
  • 关注

原创 使用JConsole和jstack检测分析死锁

JConsole 首先启动死锁测试demo程序 在cmd中运行jconsole打开图形化界面工具 选择我们需要分析的进程进行连接 选择线程选项,点击底部检测死锁功能 查看死锁线程详情 线程1想获取的锁被线程0所持有,线程0想获取的锁被线程1持有,两个线程都在互相等待获取被对方所持有的锁资源,因此造成了死锁。 Jstack 首先通过jps查看当前运行的Java进程 ...

2018-05-19 16:35:19 2315

转载 多线程-synchronized实现原理分析

作者:EnjoyMoving,转自:https://zhuanlan.zhihu.com/p/29866981 锁的内存语义 synchronized的底层是使用操作系统的mutex lock实现的。 内存可见性:同步快的可见性是由“如果对一个变量执行lock操作,将会清空工作内存中此变量的值,在执行引擎使用这个变量前需要重新执行load或assign操作初始化变量的值”、“对一个变量执行...

2018-05-15 21:14:58 497

原创 锁机制-自旋锁、偏向锁、轻量级锁、重量级锁

自旋锁 如果持有锁的线程能在很短时间内释放锁资源,那么那些等待竞争锁的线程就不需要做内核态和用户态之间的切换进入阻塞挂起状态,只需让线程执行一个忙循环(自旋),等持有锁的线程释放锁后即可立即获取锁,这样就避免用户线程和内核的切换的消耗。 自旋等待不能代替阻塞,自旋等待本身虽然避免了线程切换的开销,但是要占用处理器时间,因此如果锁被占用时间很短,自旋等待效果就会非常好,但如果锁被占用的时间很长,...

2018-05-14 22:01:01 1294

转载 多线程-单例模式安全问题

作者:孤独烟,转自:http://rjzheng.cnblogs.com/ 饿汉式 这种其实大家都懂,不多说,上代码。 package singleton; public class Singleton1 { private static Singleton1 instance = new Singleton1(); private Singleton1 (){} ...

2018-05-05 17:53:18 239 1

原创 多线程-单生产单消费模型

创建资源对象,提供保存和取出方法(使用synchronized代码块实现) /** * Created by shaoqinghua on 2018/5/3. * 定义一个负责保存和取出的资源类 */ public class Resource { /** * 定义成员变量,充当保存和取出的容器 */ private Object[] objs = n...

2018-05-03 22:48:39 240

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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