
java源码
biexiaofei
这个作者很懒,什么都没留下…
展开
-
String源码分析
参照:http://www.hollischuang.com/archives/99的文章String类实现了Serializable, Comparable, CharSequence接口.public final class String implements java.io.Serializable, Comparable<String>, CharSequence{}其中,String被fi转载 2017-08-08 16:04:21 · 556 阅读 · 0 评论 -
Integer源码分析
参考:http://www.hollischuang.com/archives/1058类定义public final class Integer extends Number implements Comparable<Integer>从类定义中我们可以知道以下几点: 1、Integer类不能被继承 2、Integer类实现了Comparable接口,所以可以用compareTo进行比较并且I转载 2017-08-09 15:17:33 · 362 阅读 · 0 评论 -
集合继承关系图解
参考:http://www.cnblogs.com/jing99/p/7057245.html集合的特点:用来存储不同类型的对象(基本数据类型除外),存储长度可变。 Java集合中实际存放的只是对象的引用,每个集合元素都是一个引用变量,实际内容都放在堆内存或者方法区里面,但是基本数据类型是在栈内存上分配空间的,栈上的数据随时就会被收回的。集合框架图: 上述类图中,实线边框的是实现类,比如Arra转载 2017-08-10 09:37:31 · 13833 阅读 · 2 评论 -
LinkedList源码分析
本文源代码版本为1.7LinkedList:以双向链表实现。链表无容量限制,但双向链表本身使用了更多空间,也需要额外的链表指针操作。 注意:构建的链表不带头节点。链表的节点代码:private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element,转载 2017-08-11 21:27:58 · 189 阅读 · 0 评论 -
HashMap源码分析
本文参考:http://blog.youkuaiyun.com/happy_horse/article/details/52316865关于HashMap,你应该知道的几个知识点:HashMap多线程的条件竞争; 不可变对象的好处; 为什么String, Interger这样的wrapper类适合作为键;1、HashMap内部结构组成及实现 HashMap是基于哈希表(使用了拉链法解决Hash冲突的哈希表转载 2017-08-13 11:17:59 · 199 阅读 · 0 评论 -
HashMap与Hashtable区别
(1)两者最主要的区别在于Hashtable是线程安全,而HashMap则非线程安全。Hashtable的实现方法里面都添加了synchronized关键字来确保线程同步,因此相对而言HashMap性能会高一些。 我们平时使用时若无特殊需求建议使用HashMap,多线程环境下若使用HashMap需要使用Collections.synchronizedMap()方法来获取一个线程安全的集合。 (2转载 2017-08-10 15:11:05 · 228 阅读 · 0 评论 -
LinkedHashMap简单解析
源码版本1.71、内部结构 节点的结构: 整体结构: ![这里写图片描述(http://img.blog.youkuaiyun.com/20170814110220120?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmlleGlhb2ZlaQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70转载 2017-08-14 11:08:46 · 426 阅读 · 0 评论