jdk源码解读
文章平均质量分 81
开心磊磊
这个作者很懒,什么都没留下…
展开
-
为什么Iterator要先next再remove
在使用iterator的时候为什么要先next再remove不然就会抛错呢@org.junit.Testpublic void testArrayList(){ArrayList list =new ArrayList();list.add(1);list.add(2);list.add(3);Iterator it=list.iterator();System.o原创 2017-01-18 15:17:50 · 1170 阅读 · 0 评论 -
ArrayBlockingQueue源码解析
一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素。队列的尾部 是在队列中存在时间最短的元素。新元素插入到队列的尾部,队列检索操作则是从队列头部开始获得元素。这是一个典型的“有界缓存区”,固定大小的数组在其中保持生产者插入的元素和使用者提取的元素。一旦创建了这样的缓存区,就不能再增加其容量。试图向已满队列中放入元素会导致放入原创 2017-01-17 17:45:08 · 223 阅读 · 0 评论 -
java LinkedBlockingDeque队列源码解读
LinkedBlockingDeque是双向链表实现的双向并发阻塞队列。该阻塞队列同时支持FIFO和FILO两种操作方式,即可以从队列的头和尾同时操作(插入/删除);并且,该阻塞队列是支持线程安全。此外,LinkedBlockingDeque还是可选容量的(防止过度膨胀),即可以指定队列的容量。如果不指定,默认容量大小等于Integer.MAX_VALUE。简单来讲就是一个可以有固定长度的,有原创 2017-01-17 15:04:05 · 235 阅读 · 0 评论 -
lock(),tryLock(),lockInterruptibly()区别
lock(),tryLock(),lockInterruptibly()区别原创 2017-11-20 14:26:57 · 520 阅读 · 0 评论 -
druid源码解读
之前想看看连接池的底层代码实现,然后根据大神的博客看了一下BasicDataSource https://www.cnblogs.com/biakia/p/4352197.html,感触良多....总之很复杂.忽然想起来了牛逼的德鲁伊,就各种浪了...百度各种文档想看看前人的源码阅读....然后就崩溃了,好吧索性就自己亲自去看看究竟牛在哪里!首先搭建环境javax.servlet原创 2017-11-16 14:15:40 · 5205 阅读 · 2 评论