![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
badly1226
努力成就非凡,请不要在最该奋斗的年纪选择安逸
展开
-
深入java底层源码, 揭开ArrayList神秘面纱
一般情况下,当我们想用一个List集合时,首先想到的是ArrayList,其次就是LinkedList,但是我相信大部分小伙伴在项目中用到的ArrayList远比LinkedList,为什么呢?什么样的情况下优先选择ArrayList,什么样的情况下优先选择LinkedList? 哪种数据结构在什么样的条件下的性能更好?以及为什么在阿里开发规范中对集合要强调必须要初始化大小呢?还有为什么在并发情况下去remove数据的时候会出现ConcurrentModificationException呢?等等,我们将先原创 2020-08-19 07:23:49 · 168 阅读 · 0 评论 -
JAVA8 十大新特性
转自:http://mp.weixin.qq.com/s/wrDXLfH59f27VWZKmXHPPQ一部分1:接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下: 代码如下:interface Formula { double calculate(int a);default double sqrt(int a...转载 2018-04-16 19:48:44 · 166 阅读 · 0 评论 -
java并发之ReentLock可重入锁(公平锁) 加锁过程
当线程1进行了加锁,而线程2加入了等待队列,此时如果线程1全部完成了自己的业务逻辑,接下来要释放锁,那么,线程1在释放锁的时候,会唤醒等待队列里面的线程,然后等待队列中的线程2,再次尝试获取锁,一些列的操作逻辑,获取锁成功,修改state=1, 设置加锁线程=线程2等等,依次执行下去...原创 2019-04-16 21:43:27 · 1068 阅读 · 1 评论 -
java并发可重入锁ReentrantLock非公平锁
说明: /** * Creates an instance of {@code ReentrantLock}. * This is equivalent to using {@code ReentrantLock(false)}. */ public ReentrantLock() { sync = new Nonfair...原创 2019-04-16 21:57:52 · 365 阅读 · 0 评论