2016年4月24日

Java可见性机制的原理

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

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

2016年4月17日

Java 正则表达式学习

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

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

2016年4月12日

HashMap学习笔记

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

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

2016年4月9日

ArrayList 学习笔记

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

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

2016年3月13日

地址转换协议

摘要: NAT 地址转换协议 由于IP地址是有限的,随着越来越多的IP地址被分配,地址紧缺的问题已经比较严重。 于是将IP地址分为了公网IP地址和私网IP地址,公网IP地址用于在互联网上标记一台主机,而私网IP用于在一个局域网或者企业内部标记一台主机,这些主机并不直接与互联网相连。 私网IP地址可以被多次复 阅读全文

posted @ 2016-03-13 22:54 HuMingChuan 阅读(1249) 评论(0) 推荐(0) 编辑

traceroute原理

摘要: ICMP ICMP全称为Internet Control Message Protocol,即,网络控制报文协议。 当一个IP数据报发送失败时,最后一个路由器会向发送发传递一条ICMP报文以报告错误。 traceroute利用此特性来探测路由。 原理如下,构造一份非法的数据,通过IP协议发送。第一份 阅读全文

posted @ 2016-03-13 10:47 HuMingChuan 阅读(402) 评论(0) 推荐(0) 编辑

IP转发和子网路由

摘要:   在TCP/IP协议中,协议栈分为4层。从上到下依次是应用层、运输层、网络层、网络接口层。 IP协议就工作在网络层。IP协议将纷繁复杂的物理层协议屏蔽掉,对上层提供统一的描述和管理服务。 互联网上的每一台主机都有一个IP地址,IP地址由32比特的整数来表示,共分为5类。 分类方法是:根据网络号所占 阅读全文

posted @ 2016-03-13 10:26 HuMingChuan 阅读(2124) 评论(0) 推荐(0) 编辑

2016年2月23日

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 阅读(473) 评论(0) 推荐(0) 编辑

2016年2月21日

String源码学习

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

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

2016年1月6日

多线程的参数传递

摘要: 创建多线程的回调函数时,传入的参数会被当做一个引用保存起来,即使这个参数没有明显的对应到一个变量上。即使后来传入的参数指向了其他对象,但是多线程保存的引用是不会变的。比如这个程序: 1 @Test 2 public void testMultiThread() throws Inte... 阅读全文

posted @ 2016-01-06 00:42 HuMingChuan 阅读(1740) 评论(0) 推荐(0) 编辑

导航