Fork me on GitHub

02 2017 档案

摘要:持续更新系列。参考自Java多线程系列目录(共43篇)、《Java并发编程实战》、《实战Java高并发程序设计》。 基础Java多线程——过期的suspend()挂起、resume()继续执行线程;Java多线程——sychronized Java中Volatile关键字详解;Java中SynchronizedMap与ConcurrentHashMap的对比;Java中ThreadLocal的深入理解 阅读全文
posted @ 2017-02-23 22:18 郑斌blog 阅读(3015) 评论(0) 推荐(1) 编辑
摘要:持续更新系列。 参考自《深入理解Java虚拟机》、《Java性能权威指南》、《分布式Java应用基础与实践》。 Java的内存结构 JVM内存结构——运行时数据区 JVM——代空间的划分 JVM——判断对象的死活 Java内存模型 Java中内存溢出与内存泄露 JVM——深入分析对象的内存布局 垃 阅读全文
posted @ 2017-02-21 20:49 郑斌blog 阅读(2187) 评论(0) 推荐(3) 编辑
摘要:简介 Condition中的await()方法相当于Object的wait()方法,Condition中的signal()方法相当于Object的notify()方法,Condition中的signalAll()相当于Object的notifyAll()方法。 不同的是,Object中的wait() 阅读全文
posted @ 2017-02-20 19:15 郑斌blog 阅读(7619) 评论(0) 推荐(1) 编辑
摘要:简述 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。 定义模型的目标 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储 阅读全文
posted @ 2017-02-17 12:04 郑斌blog 阅读(15956) 评论(2) 推荐(8) 编辑
摘要:内存溢出 内存溢出(out of memory),是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给他存了long才能存下的数,就会发生内存溢出。 内存泄露 内存泄露(memory leak),是指程序在申请内存后,无法释放已申请的内 阅读全文
posted @ 2017-02-17 11:13 郑斌blog 阅读(999) 评论(0) 推荐(1) 编辑
摘要:红黑树的本质就是一个二叉查找(排序树)。 红黑树的五条性质: 每个节点非红即黑 根节点为黑 红节点的两个子节点都为黑 每个叶子节点都为黑 对于任一节点而言,其到叶子节点的每一条路径都包含相同数目的黑节点 详细:https://github.com/julycoding/The-Art-Of-Prog 阅读全文
posted @ 2017-02-16 17:28 郑斌blog 阅读(472) 评论(0) 推荐(0) 编辑
摘要:添加Maven依赖: 代码结构: 源码: 1 package Exception; 2 3 /** 4 * Created by zhengbin06 on 2017/2/14. 5 */ 6 public class Clazz { 7 private int i = 0; 8 public St 阅读全文
posted @ 2017-02-14 20:05 郑斌blog 阅读(498) 评论(0) 推荐(0) 编辑
摘要:二叉排序树又称二叉查找树(Binary Search Tree,简称BST),它可以是一棵空树,若非空时具有以下性质: 若根结点的左子树非空,则左子树上的所有结点的关键字均小于等于根节点的关键字值; 若根结点的右子树非空,则右子树上所有的结点的关键字均大于等于根节点的关键字值; 根结点的左、右子树也 阅读全文
posted @ 2017-02-12 19:54 郑斌blog 阅读(487) 评论(0) 推荐(0) 编辑
摘要:摘要 JDK1.8相较于1.7对HashMap做了很大的优化,比如加入了新数据结构红黑树、Hash算法的优化和扩容的优化。 本篇结合这些区别,探索HashMap的结构实现和功能原理。 存储结构-字段 从数据结构来看,HashMap是数组+链表+红黑树实现的,如图所示: HashMap中重要的几个属性 阅读全文
posted @ 2017-02-10 22:03 郑斌blog 阅读(904) 评论(0) 推荐(0) 编辑
摘要:简述: ArrayList可以理解为动态数组,与Java中的数组相比,它的容量能动态增长。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组中,因此最好能给出数组大小的预估值; 容量大小也可以在程序中通过ensureCapacity(int minCapacity)方法 阅读全文
posted @ 2017-02-08 17:02 郑斌blog 阅读(670) 评论(0) 推荐(0) 编辑
摘要:数据结构 LinkedList是基于链表结构实现,所以在LinkedList类中包含了first和last两个指针(类型为Node)。Node中包含了对prev节点、next节点的引用,这样就构成了双向的链表。 存储 1.add(E e)方法 该方法首先声明一个新Node l,将链表的最后一个Nod 阅读全文
posted @ 2017-02-08 14:20 郑斌blog 阅读(4462) 评论(0) 推荐(0) 编辑
摘要:参考别人的感觉挺好玩,还没仔细研究,先上代码。 阅读全文
posted @ 2017-02-05 21:50 郑斌blog 阅读(1365) 评论(0) 推荐(0) 编辑
摘要:简述 Java中Socket分为普通Socket和NioSocket两种,这里介绍Socket。 我们可以把Socket比作两个城市间的交通工具,有了它可以在两城之间来回穿梭,交通工具有很多种,每种交通工具也有相应的交通规则。Socket也一样,也有多种。大多情况下使用的是TCP/IP的流套接字,它 阅读全文
posted @ 2017-02-05 16:17 郑斌blog 阅读(539) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示