`
黑熊精
  • 浏览: 3140 次
社区版块
存档分类
最新评论
文章列表
LinkedList与ArrayList有这很大的区别,前者是由链组合而成,每个链表的节点持有前、后节点的信息。用下面这副图可以简单描述处链表的结构: 链表有三个非常重要的属性,节点总个数、链表头元素、链表为元素。 transient int ...
在日常开发中我们会碰到各种各样的异常信息,空指针、找不到文件、数组下标越界、内存异常等等。Java都是通过API中Throwable类的众多子类描述各种不同的异常,关系图如下所示:  从上图可以看出,所有的异常类都是由Throw ...
http://floodcool.com/blog/222243.html 单例是一种设计模式,指该类被创建后有且仅有一个实例供外部访问,并且提供一个全局的访问入口。 有三个核心点: 1、类的构造方法私有化 2、内部产生该类的实例化对象,并声明为private static 3、定义一个静态方法返回该类的实例 常见的单例模式有下面几种。 一、饱汉方式 public class Singleton { private static Singleton singleton; private Singleton(){} public static Singleton ...
最近在看Java的并发包,发现追踪下底层大部分都会使用unsafe,对其的理解仅限与使用了CAS算法以及和底层硬件相关等太肤浅。度娘搜索大部分说的让人摸不着头脑,不知所云云。花了一些时间整理如下,以供后期参阅。 参考文档: http://zl198751.iteye.com/blog/1848575 http://ifeve.com/atomic-operation/   一、CAS说明 CAS算法的全称为Compa
通过源码看ArrayList底层是如何扩容的。ArrayList有两个属性,存储数据的数组elementData,和存储记录数目的size(真实有效的个数)。 Vector有三个属性,存储数据的数组elementData,存储记录数目的elementCount,还有扩展数组大小的扩展因子capacityIncrement。 一、初始化 二、add元素 ensureCapacityInternal(size + 1); 此时size 就是0,ensureCapacityInternal(1);    因为elementData是默认值,所以进入if流程,那么minCapacity = Ma ...
Global site tag (gtag.js) - Google Analytics