![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 64
iteye_15764
这个作者很懒,什么都没留下…
展开
-
synchronized 与 static synchronized的区别
面试过程中被问到了这个问题,当时虽然答对了、但是仍然属于一知半解状态,网上有详细的说明、以此为基础增加了自己的理解和测试。 一个日本作者-结成浩的《java多线程设计模式》有这样的一个列子: pulbic class Something(){ public synchronized void isSyncA(){} pub...原创 2014-07-29 12:39:13 · 127 阅读 · 0 评论 -
notify与notifyAll的区别
最近在多线程编程中用到了wait(),随之即面临notify与notifyAll的选择、本人代码中使用两者皆可,查看两者的定义后、发现两者的选择还是很讲究的。 所有处于wait状态的线程,需要使用notify或者notifyAll才能被唤醒、重新被唤醒进入锁的争夺队列。notify即随机唤醒等待中的一条线程;notifyAll即唤醒全部处于等待中的线程...原创 2014-07-29 22:09:18 · 149 阅读 · 0 评论 -
java.util.concurrent(一) 并发集合类
1、LinkedBlockingQueue 阻塞队列、线程安全,可在构造方法参数中指定容量、默认容量为Integer.MAX_VALUE,实现了BlockingQueue接口以及Collection和Iterator接口的所有方法,不接受null元素。常用方法有put和take,put方法在队列满的时候会阻塞直到有成员被消费,take方法在队列空的时候会阻塞,直到有成员...原创 2014-08-11 22:08:38 · 324 阅读 · 0 评论 -
java的线程状态
Java线程共七个状态新建、就绪、运行、睡眠、阻塞、等待、死亡;原创 2014-08-13 09:48:29 · 76 阅读 · 0 评论 -
Java内存模型-相关概念
1、Happens-before JMM使用happens-before的概念阐述操作之间的内存可见性。在JMM中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须存在happens-before关系。两个操作可以是一个线程内、也可以是不同线程之间。Happens-before规则如下: 程序顺序规则:一个线程中的每个操作,h...原创 2014-09-19 11:02:55 · 74 阅读 · 0 评论 -
java.util.concurrent(二) Lock
在多线程编程中常常需要进行同步而锁定某个对象,通常采用synchronized来实现,部分情况下采用Java.util.concurrent.lock更加合适。ReentrantLock实现了Lock接口、是常用的实现类。 Lock和synchronized有个明显的区别在于----lock必须在finally里面释放,如...原创 2015-01-04 17:09:08 · 80 阅读 · 0 评论