![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 77
唐里
性格很好...
展开
-
HashMap源码分析(基于JDK1.6)
Java最基本的数据结构有数组和链表。数组的特点是空间连续(大小固定)、寻址迅速,但是插入和删除时需要移动元素,所以查询快,增加删除慢。链表恰好相反,可动态增加或减少空间以适应新增和删除元素,但查找时只能顺着一个个节点查找,所以增加删除快,查找慢。有没有一种结构综合了数组和链表的优点呢?当然有,那就是哈希表(虽说是综合优点,但实际上查找肯定没有数组快,插入删除没有链表快,一种折中的方式吧)。一般采转载 2016-08-09 13:39:37 · 220 阅读 · 0 评论 -
List,Set,Map的区别
List,Set,Map是否继承自Collection接口?答:List,Set是,Map不是。Set,List,Map的区别java集合的主要分为三种类型:Set(集)List(列表)Map(映射)要深入理解集合首先要了解下我们熟悉的数组:数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目转载 2016-08-04 13:38:52 · 252 阅读 · 0 评论 -
HashMap的原理
HashMap基于哈希表的 Map 接口的实现! 此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 上述的话写出了HashMap的两个很重要的特性: (1)HashMap是非syn原创 2016-08-09 13:59:46 · 591 阅读 · 0 评论 -
Java中的volatile
volatile:就像大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。volatile的作用是: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.简单来说:byte[1] = 0x51;byte[1] = 0x52;byte[1] = 0x5原创 2016-08-09 16:56:35 · 235 阅读 · 0 评论