2017年4月7日

Hashtable源码分析

摘要: Hashtable简介 Hashtable简介Hashtable声明Hashtable基本数据结构键值对/EntryHashtable方法分析public synchronized boolean contains(Object value)public synchronized boolean c 阅读全文

posted @ 2017-04-07 20:41 yzwall 阅读(178) 评论(0) 推荐(0) 编辑

2017年4月5日

ArrayList/LinkedList/Vector源码分析

摘要: ArrayListpublic class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.SerializableArrayList继承了AbstractList,实现了List,表示ArrayList... 阅读全文

posted @ 2017-04-05 02:12 yzwall 阅读(239) 评论(0) 推荐(0) 编辑

2017年4月3日

volatile关键字与Java内存模型(JMM)

摘要: Java内存模型(JMM)JMM用来屏蔽不同硬件和操作系统的内存访问差异,期望Java程序在各种平台上都能实现一致的内存访问效果; JMM规定里多线程之间的共享变量存储在主存中,每个线程单独拥有一个本地内存(逻辑概念),本地内存存储线程操作的共享变量副本;JMM中的变量指的是线程共享变量(实例变量,static字段和数组元素),不包括线程私有变量(局部变量和方法参数);JMM规定线程对变量的写操作... 阅读全文

posted @ 2017-04-03 11:23 yzwall 阅读(2715) 评论(0) 推荐(2) 编辑

2017年4月1日

TCP/UDP备忘

摘要: ISO模型与TCP/IP模型ISO 七层模型TCP/IP 四层模型应用层HTTP HTTPS DNS SMTP SNMP FTP Telnet SSH应用层表示层会话层SSH RPC ASP BSD Sockets传输层TCP UDP RTP SCTP SPX ATP IL传输层网络层IP ICMP IGMP BGP OSPF RIP ARP RARP网络互连层数据链路层Etherent HDLC... 阅读全文

posted @ 2017-04-01 15:10 yzwall 阅读(270) 评论(0) 推荐(0) 编辑

2017年3月28日

拓扑排序

摘要: 拓扑排序:有向图中,使得一个序列中只有前边的节点指向后边的节点;拓扑排序唯一解:当一个DAG的任何两个顶点都存在确定的先后关系,该DAG的拓扑排序的解是唯一的;保证BFS队列中入度为0的节点有且只有一个; 阅读全文

posted @ 2017-03-28 22:34 yzwall 阅读(108) 评论(0) 推荐(0) 编辑

线性表基本概念

摘要: 线性表/线性结构线性表(linear list)是若干个数据元素的有限序列,每个数据元素可由若干数据项组成;线性表的特点有:在数据元素的非空有限集中,存在唯一的称之为“第一个”和“最后一个”元素;除“第一个”元素(first/front)外,每一个元素有且仅有一个直接前驱(predecessor);除“最后一个”元素(last/rear)外,每一个元素有且仅有一个直接后继(successsirr)... 阅读全文

posted @ 2017-03-28 22:27 yzwall 阅读(790) 评论(0) 推荐(0) 编辑

二叉树备忘

摘要: 二叉树基本概念及性质二叉树(binary tree)是一棵树,每个结点最多有两个儿子(0/1/2),本质上就是图(graph);根据定义,二叉树有以下五种形态:二叉树的特点如下图:特殊的二叉树有斜二叉树,满二叉树和完全二叉树,斜二叉树:每一层只有一个结点,每个结点仅有左子树的称为左斜树,反之称为右斜树;满二叉树:所有的分支结点都有左子树和右子树,所有的叶结点都处在同一层;完全二叉树:树中的结点按层... 阅读全文

posted @ 2017-03-28 22:22 yzwall 阅读(392) 评论(0) 推荐(0) 编辑

二叉堆 & 优先级队列

摘要: 优先级队列 实现方式:只需要查找极值元,不必维护所有元素之间的全序关系,偏序即可。二叉堆/堆结构&性质完全二叉树重要性质: 对于结点总数为N的完全二叉树,结点按层顺序编号(从第1层到最后一层,每层从左到右),对于任一结点k: 当k=1时,结点k为树的根,无父结点;当k>1时,其父结点为[k/2]; 当2k=N时,结点k的左孩子结点为2k; 当2k>N时,结点k无左孩子... 阅读全文

posted @ 2017-03-28 22:20 yzwall 阅读(584) 评论(0) 推荐(0) 编辑

Java运行数据区/堆/栈

摘要: JVM Runtime Data Area(运行数据区)根据《Java虚拟机规范(Java SE 7版)》规定,JVM所管理的内存包括:线程共享:堆区,方法区和运行常量池(位于方法区);线程私有:程序计数器,栈区,本地方法栈;PC Register(程序计数器)程序计数器与线程生命周期保持一致,存储当前线程执行的方法字节码指令地址(如果是native方法,程序计数器存储值为undefined),解... 阅读全文

posted @ 2017-03-28 22:17 yzwall 阅读(225) 评论(0) 推荐(0) 编辑

Java垃圾回收机制

摘要: 判断对象是否存活引用计数法:实现方式:为每个对象创建一个私有的引用计数器,当引用计数器为0时,标记为可被回收对象,存在问题:无法解决对象之间相互引用的问题。当两个可被回收对象彼此引用时,引用计数器永远不为0,极易发生内存泄露;可达性分析法(Reachability Analysis)/根追踪算法(GC Roots Tracing)实现方式:通过一系列称为“GC Roots”的对象作为起始点,沿着引... 阅读全文

posted @ 2017-03-28 22:16 yzwall 阅读(1281) 评论(0) 推荐(0) 编辑

导航