近况

AQS acquire方法解析

2018-08-09

AQS(AbstractQueuedSynchronized)是java.util.concurrent.locks的重要组成部分,我们现在来分析一下它的实现 定义 private transient volanitialized. Modi...


线程池

2018-08-08

1 线程池的技术背景 在面向对象编程中, 创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其他更多资源,所以提高服务程序效率的一个手段就...


JVM内存分配策略

2018-08-06

1.对象优先在Eden分配 当Eden区没有足够的空间进行分配的时候就要做一个Minor GC 2.大对象直接进入老年代 所谓大对象就是指,需要大量连续内存空间的Java对象,...


CMS垃圾收集器

2018-08-06

回顾一下CMS的四个主要阶段,以及各个阶段的工作内容.下图展示了CMS各个阶段可以标记的对象,用不同颜色区分 1.Init-mark初始标记(STW),该阶段进行可达性分析,...


MyISAM和InnoDB区别

2018-07-27

1.存储结构 MyISAM:每个MyISAM在磁盘上存储三个文件. 第一个文件的名字以表的名字开始,扩展名指出文件定义  .frm文件存储表定义 数据文件的扩展名为.MYD(MYDa...


mysql索引

2018-07-25

类型: 单列索引: 一个索引只包含单个列,但一个表中可以有多个单列索引 普通索引: Mysql中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,...


new一个对象时虚拟机干了什么

2018-07-23

1.类加载检测 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的引用,并检查这个符号引用代表的类是否已经被加载 解析和初...


InnoDB 存储引擎体系架构

2018-07-21

InnoDB存储引擎有多个内存块,可以认为这些内存块组成了一个大的内存池,负责如下工作: 维护所有进程/线程需要访问的多个内部数据结构 缓存磁盘上的数据,方便...