自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 内部类初始化

单例模式中常用的一种饿汉模式实现是用内部类实现的,但是并不理解为什么是饿汉,不是懒汉呢,于是写了下面的测试程序,得到结果:并不是InnerClass外部类初始化,其内部类JobSchedulerHolder就初始化。public class InnerClass{ private static class JobSchedulerHolder{ private static Inne

2017-04-27 16:42:38 748

原创 GC发生时内存分配和回收策略

在《深入理解java虚拟机》一书中读到3.6章节,内存分配和回收策略: 预备知识 java堆=年轻代(Eden+Survivor+Survivor)+老年代 Eden:Survivor:Survivor默认比例8:1:1,每次年轻代使用率90%(Eden和一个Survivor)。 一 内存分配策略 1 对象优先在eden分配 可用空间是Eden和一个Survivor,在GC回收发生时,如

2017-04-25 16:56:42 328

原创 LinkedList源码阅读

同样LinkedList的底层也是基于一种数据结构的,这个结构是双向循环链表,在简书上看到一篇文章分析很详细,基于jdk1.6,链接如下: LinkedList源码解析 但是在jdk1.7中,LinkedList是一种双向链表,非循环,但是增加了指向了最后一个节点和指向第一个节点的指针。 1 LinkedList成员变量和构造函数public class LinkedList<E> e

2017-04-21 10:49:28 231

原创 HashMap源码阅读

1 HashMap设计思想 我们在使用HashMap时,都知道这是key-value的存储形式,那么怎么做到key不重样,又能根据key很快的找到对应的value值呢,怎么才能做到很快的插入一个元素呢?这些需求驱动了HashMap的设计,HashMap的源码实际上是实现了哈希表这种数据结构,我们在数据结构课中学过,数组和链表是两种基本的数据结构,数组的特点是空间连续(大小固定)、寻址迅速,但是插入

2017-04-20 11:16:46 246

原创 String源码阅读

1 为什么String是不可变对象,而StringBuffer是可变对象,而StringBuffer的初始长度是多少? 可以由源码得到 String的char数组是final类型,所以一旦初始化就不可变,StringBuffer的初始长度是16 public final class String{ private final char value[]; /** Cache the hash

2017-04-19 14:42:06 315

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除