源码分析
文章平均质量分 87
iteye_7682
这个作者很懒,什么都没留下…
展开
-
hashmap hashcode碰撞
在Java编程语言中,最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap也一样。当程序试图将多个 key-value 放入 HashMap 中时,以如下代码片段为例:HashMap<String,Object> m=new HashMap<String,Object>(); m.put("a", "r...原创 2017-03-17 07:03:06 · 119 阅读 · 0 评论 -
源码分析(一)——HashMap(基于JDK1.6)
Java最基本的数据结构有数组和链表。 数组的特点是空间连续(大小固定)、寻址迅速,但是插入和删除时需要移动元素,所以查询快,增加删除慢。 链表恰好相反,可动态增加或减少空间以适应新增和删除元素,但查找时只能顺着一个个节点查找,所以增加删除快,查找慢。 有没有一种结构综合了数组和链表的优点呢?当然有,那就是哈希表(虽说是综合优点,但...原创 2015-03-06 15:36:31 · 82 阅读 · 0 评论 -
源码分析(二)——ArrayList(基于JDK1.6)
一、ArrayList的定义:public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable从上述定义可以看出:1. Arra...原创 2015-03-09 16:03:15 · 75 阅读 · 0 评论 -
源码分析(三)——Vector(基于JDK1.6)
一、Vector的定义:public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable从上述定义可以看出:1. Vector 继承了A...原创 2015-03-10 11:22:34 · 94 阅读 · 0 评论 -
源码分析(四)——LinkedList(基于JDK1.6)
https://blog.csdn.net/gongchuangsu/article/details/51527042 一、LinkedList的定义: public class LinkedList<E> extends AbstractSequentialList<E> implements Lis...原创 2015-03-11 15:58:59 · 98 阅读 · 0 评论 -
源码分析(五)——Thread(基于JDK1.6)
一、Thread的定义:public class Thread implements RunnableThread类实现了了Runnable接口。Runnable接口源码: public interface Runnable { public abstract void run(); } 二、Thread的基本属性: 三、Thread...原创 2015-03-13 11:19:16 · 154 阅读 · 0 评论 -
源码分析(六)——ThreadLocal(基于JDK1.6)
一、ThreadLocal是什么?ThreadLocal的概念:线程本地变量,或线程本地存储。ThreadLocal的作用:它主要是为变量在每个线程中都创建了一个副本,每个线程可以访问自己内部的副本变量。具体是通过它提供的get()和set()方法访问某个变量的线程都有自己的局部变量。注意以下几点: 1. 每个线程中都有一个自己的ThreadLocalMap类对象,可以将线程自...原创 2015-03-13 15:10:03 · 329 阅读 · 0 评论 -
源码分析(七)——ThreadLocalMap(基于JDK1.6)
一、ThreadLocalMap的定义:static class ThreadLocalMap ThreadLocalMap类是ThreadLocal类的一个内部类,关于ThreadLocal类可以查看上一篇。 二、ThreadLocalMap的成员变量:ThreadLocalMap类有4个成员变量:1个常量、3个变量。 /** *...原创 2015-03-13 15:44:22 · 169 阅读 · 0 评论