`
zy19982004
  • 浏览: 661780 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
F6f66edc-1c1a-3859-b76b-a22e740b7aa7
Hadoop学习
浏览量:251950
社区版块
存档分类
最新评论
文章列表
一.前言 HashMap和Hashtable大部分算法是相同的,容器学习一:HashMap源码分析 对HashMap源码进行了分析,可以先阅读它。 相同的算法部分不再分析,本文主要考虑Hashtable和HashMap的不同之处。   二.Hashtable成员变量 private transient Entry[] table; // 等同于HashMap里面的size private transient int count; private int threshold; private float loadFactor; p ...
一.HashMap的存储结构   二.HashMap成员变量 //默认初始容量,总为2的次方值 static final int DEFAULT_INITIAL_CAPACITY = 16; //最大容量 static final int MAXIMUM_CAPACITY = 1 << 30; //默认加载因子 static final float DEFAULT_LOAD_FACTOR = 0.75f; //Entry数组,每一个Entry是一个键值对实体 transient ...

容器学习

一.博客传送门 容器学习一:HashMap源码分析 容器学习二:Hashtable源码分析 容器学习三:LinkedHashMap源码分析 容器学习四:TreeMap源码分析-排序二叉树和红黑树 容器学习五:TreeMap源码分析 容器学习六:HashSet & LinkedHashSet & TreeSet源码分析 容器学习七:ArrayList源码分析 容器学习八:LinkedList源码分析 容器学习九:Comparable & Comparator 容器学习十 ...
一.概述 java1.5为我们提供了同步控制的新途径, java.util.concurrent.locks.*提供了两个核心接口:Lock,Condition。 Lock接口提供了比synchronized关键字同步流程更加清晰的方法。 Condition接口替代了object对象的三个监视方法。 二.代码 传统synchronized + wait + notify控制同步。 package com.zzy.syn; /** * 传统同步方式 * synchronized + wait + notify * @author eason * ...
一.ThreadPoolExecutor作用概述      jdk1.5之前,我们都是自己写代码对于线程池的管理我们来管理线程池。jdk1.5为我们提供了一个管理线程的类ThreadPoolExecutor,我们暂且把它称之为线程池好了。有了它我们需要把任务提交过来, ...
一.作用概述 异步计算。我每天早晨起来都有很多事情要做:洗漱-煮鸡蛋-吃早餐-等等。我的步骤是起床后先煮鸡蛋,定时10分钟,再去洗漱,等我洗漱完毕在看鸡蛋是否煮好了,煮好了就开始吃早餐,没煮好则等一会。我们把 ...
一.线程的状态图        二.初始状态 实现Runnable接口和继承Thread可以得到一个线程类,new一个实例出来,线程就进入了初始状态 三.可运行状态 可运行状态只是说你资格运行,调度程序没有挑选到你,你就永远是可 ...
一.普通对象,线程对象,线程 普通对象:针对于线程对象而言的。到处可见普通对象,Person p = new Person();一个无头无脑的人就是一个普通对象。 线程对象:线程类的实例对象。我自己定义了一个线程类public class CheckThread exte ...
     总结下多线程。本人知识有限,望大家多提意见。 多线程总结一:基本概念 多线程总结二:线程的状态转换 多线程总结三:Java1.5并发Future模式 多线程总结四:Java1.5并发ThreadPoolExector 多线程总结五:Java1.5并发Lock
一.概念      代理模式:为对象提供一种代理,以控制这个对象的访问。   二.UML   Subject:定义RealSubject和Proxy的共同接口,这样在任何使用RealSubject的地方都可以使用Proxy。 RealSubject:定义Proxy所代表的实体。 Proxy:代理类,保存一个实体对象的引用,代理委托实体做事。 三.实例分析      在深圳这个神奇的国度里,最有钱的其实是那些房东。这还得感谢我们伟大的小 平同志。以前不值钱的房子,现在租客多了,原地随便盖个十几层,一年下来百来万是一点问题都没有的。房东是基本不出现的,整 ...
一.概念      状态模式:当一个对象的内在状态改变时允许改变其行为,看起来就像是修改这个类。   二.UML   Context(应用场景),持有State对象的引用。不管在任何时候,只有有人调用Context的request方法,它就会被委托到对应的状态来处理。 State(具体对象的共同接口),任何状态实现类都实现这一接口,做到状态之间的互相切换。 ConcreteStrategryA-C(状态实现类),ConcreteState处理来自Context的请求,每个ConcreteState都提供了它自己对于请求的实现。所以,当Context改变状态时行为也跟着 ...
一.概念      迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露该对象的内部方法。   二.UML   Aggregate(集合对象抽象类)。 ConcreteAggregate(聚合对象具体类)。里面必然有某种数据结构,能增删改查所持有的对象。 Iterator(迭代器抽象类)。对外提供顺序访问聚合对象中对象的方法。 ConcreteIterator(具体迭代器类)。   三.实例分析        Aggregate package com.zzy.iterator; /** * 聚合对象抽象类 * @au ...
一.概念      组合模式允许你将对象组合成树形结构来表现"整体/部分"层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。   二.UML Component(对象接口),定义了对象可以做的事情。 Leaf(叶子结点对象)。 Composite(其它结点对象)。 三.实例分析      网上购物的时候,我们会发现,快递时一层一层下来的,我在北京朝阳区六里屯街道买了一个东西,物品会依次经过六里屯街道-朝阳区-深圳-深圳南山这样的顺序邮寄到我手里。我们可以看出,每个地区都会有一个大的投递点,然后再往下细分。从中,我抽象了这么几个类。 ...
一.概念      模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。   二.UML   AbstractClass(定义了算法的骨架) ...
一.概念      外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易被使用。   二.UML     三.实例分析      大四毕业那会,我们寝室的五个哥们,为了缅怀这即将逝去的大学生活,决定出去旅游,就是所谓的毕业旅行。刚开始考虑的是自己搞定一切,后来发现,还是有点难度,于是就报了旅行社。从这个例子里面,我抽象了这样几个类。 Bus(大巴)。 Disney(迪士尼)。 Hotel(酒店)。 TravelService(旅行社)。 Client(我们)。      Bus package com ...
Global site tag (gtag.js) - Google Analytics