自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

laiwenqiang的专栏

It’s fucking miracle.

  • 博客(10)
  • 收藏
  • 关注

原创 HashMap源码解析(三)

hash函数final int hash(Object k) { int h = hashSeed; if (0 != h && k instanceof String) { return sun.misc.Hashing.stringHash32((String) k); } h ^= k.hashCode(); h ^= (h >>> 20)

2017-02-10 17:12:39 307

原创 HashMap源码解析(二)

成员变量这里的table,就是所谓的 “桶” 的概念,存储 键/值 对。它的长度必须为2的次幂,原因不知。 具体一点,table的初始长度是 DEFAULT_INITIAL_CAPACITY(16),当存储数量的元素大于 16*0.75 时,会进行扩充容量,长度变为 1 << 4 (32)。static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //

2017-02-10 08:44:23 514

原创 HashMap源码解析(一)

引言由于HashMap相对来说复杂一些,所以从类的注释开始。基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 /** * Hash table based implementation of th

2017-02-09 15:53:44 392

原创 Iterator和ListIterator对比

Iterator是ListIterator的父类,Iterator不可以并发操作,ListIterator可以并发操作。 方法名称 hasNext() next() remove() hasPrevious() pervious() add(e) nextIndex previousIndex() set(e) 方法说明 是否有下一个元素 获取下一个元

2017-02-09 09:48:09 462

原创 ArrayList源码解析(下)

序列化操作,writeObject和readObjectprivate void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException{ // Write out element count, and any hidden stuff int expectedModCount = modCou

2017-02-08 17:54:34 334

原创 ArrayList源码解析(中)

判断元素位置这些函数都相对简单。因为存储的元素可能为null,所以判断的时候多了一次。public int size() { return size; }public boolean isEmpty() { return size == 0; }public boolean contains(Object o) { return indexOf(o) >= 0; }publi

2017-02-08 12:32:20 782

原创 ArrayList源码解析(上)

成员变量 elementData为实际存储数据的数组 size为ArrayList的实际大小,和elementData的长度有所区别 private static final long serialVersionUID = 8683452581122892189L;//默认的容量 private static final int DEFAULT_CAPACITY = 10;private stati

2017-02-07 18:59:50 371

原创 JVM运行时数据区域

图例程序计数器当前线程所执行的字节码的行号指示器。虚拟机栈java方法执行的内存模型描述,存储局部变量表、操作数栈、动态链表、方法出口等信息。本地方法栈和虚拟机栈类似,不过执行的方法是Native方法,是由非java语言实现的方法。java堆最大的一块内存区域,存放对象实例。方法区存储类结构信息、常量、静态变量、即时编译器编译后的代码等数据。运行时常量属于方法区的一部分,存放编译期生成的各种字面量和

2017-02-07 14:34:37 333

原创 观察者模式

观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。 简单代码实现public interface Observer { public void update(String message); }publi

2017-02-06 19:27:46 244

原创 Spring 自定义xsd

项目结构图代码application.xml<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:people=

2017-02-01 12:24:09 1698

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除