![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java学习笔记
Lewis-v
这个作者很懒,什么都没留下…
展开
-
java提供的map
hashMap先说明hashmap是线程不安全的参考此链接:http://www.importnew.com/20386.htmlhashMap内部的实现比list复杂好多,内部是有数组加链表的形式存储的,而put的键值的hashCode值的低位计算值为其存储在数组的下标,而数组里指向的是一个链表,链表中存的是真正的数据,这里的hashCode低位计算值可能会相等,相等时就会遍历数组指向的这个链表的各个键值,判断键值是不是一样,一样就覆盖,不一样就要添加到此链表中,每次扩为原大小的2倍,这里为什么两倍原创 2020-05-31 10:45:25 · 103 阅读 · 0 评论 -
java提供的list
ArrayList其内部使用Object[]数组来存储,默认长度为10,一次增长为原长度的1.5倍,当1.5倍超过int的最大值时为int的最大值,再大一点就报错OOMArrayList在add元素时,先检测容量是否够add,不够就扩容1.5倍,然后将元素加入数组中,长度+1,这里为做多线程的并发处理,在多线程进行添加时,可能出现一起扩容,或同时将元素加到一个位置上,导致异常或数据丢失.public boolean add(E e) { ensureCapacityInternal(s原创 2020-05-31 10:41:51 · 93 阅读 · 0 评论 -
[大白装逼]java阻塞队列
原创 2018-05-09 11:24:37 · 465 阅读 · 0 评论 -
java的锁
前言java并发是多线程开发中经常遇到的问题,对并发的处理,java提供了一系列的方法.机制,其中锁是其中的一个,synchronized是最常用的,而java除了synchronized同步,还有其他的同步锁,其他的可以完成其他不同的需求,以下就来说说java提供的一些锁吧~~ReentrantLock显示锁,可有多个条件锁,并可对某个条件进行唤醒,其中lock.newCondition(...原创 2018-10-28 15:49:35 · 375 阅读 · 0 评论