![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础原理
文章平均质量分 76
技术分子
用简洁方式表达
展开
-
Arrays.asList() 创建实例 之iterator.remove()和 add()方法报错java.lang.UnsupportedOperationException
直接看代码public static void main(String[] args) { List<String> alist = Arrays.asList(new String()); Iterator<String> iterator = alist.iterator(); while (iterator.hasNext()) { String str = iterator.next(); //过滤list元素逻辑 if (true)...原创 2020-05-13 09:41:49 · 1170 阅读 · 0 评论 -
sun.misc.BASE64Encoder加密jdk1.8中Base64解密报错分析
sun.misc.BASE64Encoder一行不能超过76字符,超过则添加回车换行符。源码public void encode(InputStream var1, OutputStream var2) throws IOException { byte[] var5 = new byte[this.bytesPerLine()]; this.encodeBuffe...原创 2019-12-09 19:06:19 · 2019 阅读 · 0 评论 -
HashMap工作原理
HashMapJDK1.7结构:数组+链表数组默认数组长度:16负载因子:0.75数组位置:通过key的hashcode hashcode计算得到hash值 hash & (length-1) 如数组长度为 32 的时候,其实取的就是 key 的 hash 值的低 5 位(32=2的5次方),作为它在数组中的下标位置hashcode计算方法: 哈希计算公式可以计为s [...原创 2018-01-21 21:40:04 · 182 阅读 · 0 评论 -
ConcurrentHashMap工作原理
JDK1.8以下ConcurrentHashMap采用了分段锁的设计,只有在同一个分段内才存在竞态关系,不同的分段锁之间没有锁竞争。相比于对整个Map加锁的设计,分段锁大大的提高了高并发环境下的处理能力。ConcurrentHashMap中的分段锁称为Segment同时又是一个ReentrantLock(Segment继承了ReentrantLock)。原创 2018-01-21 21:45:09 · 993 阅读 · 0 评论 -
HashTable工作原理
HashTable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。 HashTable 中的方法是Synchronize的。Hashtable中,key和value都不允许出现null值。但是如果在Hashtable中有类似put(null,null)的操作,编译同样可以通过,因为key和value都是Object类原创 2018-01-21 21:50:25 · 679 阅读 · 0 评论