随笔分类 -  JDK源码学习

JDK动态代理
摘要:什么是代理 所谓代理,是指对一个对象A的方法调用会被对象B先截获,然后由B来决定是继续调用A的方法或者做其他操作。也就是说,在代码中,我们直接操作的对象从A变成了B,对A的任何操作都要经过B才能完成。那么就可以说,B是A的代理 如何实现一个代理 要实现一个代理是非常简单的,只需要将代理对象B设置为目 阅读全文

posted @ 2016-11-06 13:28 HuMingChuan 阅读(372) 评论(0) 推荐(0)

Java可见性机制的原理
摘要:基本概念 可见性 当一个线程修改了共享变量时,另一个线程可以读取到这个修改后的值。 内存屏障(Memory Barriers) 处理器的一组指令,用于实现对内存操作的顺序限制。 缓冲行 CPU告诉缓存中可以分配的最小存储单位,处理器填写缓存行时,会加载整个缓存行。 Lock前缀的指令 Lock前缀的 阅读全文

posted @ 2016-04-24 09:16 HuMingChuan 阅读(8588) 评论(0) 推荐(0)

Java 正则表达式学习
摘要:Java 正则表达式学习 匹配模式 JDK提供三种匹配模式,分别是:贪婪模式(greedy),勉强模式(reluctant)和占有模式(possessive),分别对应三种占有量词,其中贪婪模式是默认的模式,勉强模式通过在表达式后面加一个?来表示。占有模式通过在表达式后面加一个+来表示。 三种模式的 阅读全文

posted @ 2016-04-17 00:06 HuMingChuan 阅读(283) 评论(0) 推荐(0)

HashMap学习笔记
摘要:概述 HashMap是Map接口的一个哈希表的实现,内部是一个数组表示的。数组中的元素叫做一个Node,一个Node可以一个是一个简单的表示键值对的二元组,也可以是一个复杂的TreeNode。如果是一个一个简单的二元组,则可以通过Node的next域构成构成一个链表。 当需要遍历Map的时候,建议使 阅读全文

posted @ 2016-04-12 23:57 HuMingChuan 阅读(488) 评论(0) 推荐(0)

ArrayList 学习笔记
摘要:接口 ArrayList实现了List接口,因此可以当作一个List来使用。 此外,ArrayList还实现RandomAccess接口和Serializable,说明ArrayList支持随机访问并且支持Java序列化机制。 实现 ArrayList内部含有的非静态域只有两个,一个用户保存数据的O 阅读全文

posted @ 2016-04-09 22:43 HuMingChuan 阅读(270) 评论(0) 推荐(0)

Dijkstra算法
摘要:public class Dijkstra { public static void main(String[] args) { // TODO Auto-generated method stub int[][] weight = { {0,3,9999999,7,9999999}, {3,0,4 阅读全文

posted @ 2016-02-23 23:28 HuMingChuan 阅读(483) 评论(0) 推荐(0)

String源码学习
摘要:String源码学习 零散的收获 数组的元素类型可以通过getComponentType来获取到 子类型的数组可以赋值给父类型的数组,。但是并不存在继承关系。数组的父类是Object。 通过声明如下代码来控制需要序列化的field private static final ObjectStreamF 阅读全文

posted @ 2016-02-21 19:58 HuMingChuan 阅读(394) 评论(0) 推荐(0)

导航