自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 问答 (1)
  • 收藏
  • 关注

原创 看《Java并发编程实践》的笔记

避免隐式的溢出可以使用一个私有的构造函数和一个公共的工厂方法 不可变对象:状态不变,所有域都final,正确创建 优先使用一个不可变对象; 优先使用一个正确发布(正确发布是指实例变量暴露给其他类)的高效不可变对象(静态化初始器Dao me这种,把它的引用存到volatile/AtomicReference/final中,或者把它的引用存储到被锁保护的域中) 被正确发布的线程安全或者被保护的

2017-02-23 12:32:29 248

原创 notify产生死锁的场景(备忘)

生产者、消费者数量都为2,缓冲区为1,当按照下列并发顺序执行的时候出现死锁: 1.消费者1获得锁,发现缓冲区为0,wait(wait自动释放锁); 2.消费者2获得锁,发现缓冲区为0,wait(wait自动释放锁); 3.生产者1获得锁,发现缓冲区为0可以生产,生产以后放在缓冲区,notify,现在缓冲区为1 4.第3步notify唤醒了消费者1,但是消费者1没有抢到锁,锁被生产者2拿到了

2017-02-23 12:22:00 2569 5

空空如也

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

TA关注的人

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