摘要: Java的IO体系分为Input/Output和Reader/Writer两类,区别在于Reader/Writer在读写文本时能自动转换内码。基本上,所有的IO类多是配对的,即有XXXInput,就有一个对应的XXXOutput。 Java的输入输入操作是基于数据流(Stream)的,有序的字节或者 阅读全文
posted @ 2019-10-01 20:39 PoetryAndYou 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 这里要讨论这些常用的默认初始容量和扩容的原因是: 当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使效率大大降低。 加载因子的系数小于等于1,意指 即当 元素个数 超过 容 阅读全文
posted @ 2019-10-01 18:31 PoetryAndYou 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 为什么HashMap是线程不安全的 总说 HashMap 是线程不安全的,不安全的,不安全的,那么到底为什么它是线程不安全的呢?要回答这个问题就要先来简单了解一下 HashMap 源码中的使用的存储结构(这里引用的是 Java 8 的源码,与7是不一样的)和它的扩容机制。 HashMap 内部存储使 阅读全文
posted @ 2019-10-01 17:59 PoetryAndYou 阅读(6100) 评论(0) 推荐(0) 编辑