Blog

Ch01-Hadoop 介绍

March 15, 2018
Apache Hadoop
Hadoop

2012 年社区发布了 Hadoop 2.0-alpha,自此 Hadoop 开启了 2.0 时代,相比较与 1.0 引入了 Yarn,NameNode HA 等重要组件和功能。随后数年 Hadoop 1.0 也慢慢的退出了历史舞台,所以这里也仅仅讲述 Hadoop 2.0 相关。

...

Ch01-数据库理论 之 事务

February 25, 2018
Database
Database

数据库事务 (Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全地不执行。要么完全地不执行。一般来说,事务是必须满足 4 个条件 (ACID):原子性 (Atomicity)一致性 (Consistency)隔离性 (Isolation)持久性 (Durability)

...

Ch08-Java 之 垃圾回收器

September 10, 2017
JVM
Jvm

垃圾回收器经过了很长时间的发展,很多垃圾回收器也慢慢的埋入到了历史场合中。这里简单的做个划分,已经淘汰的垃圾回收器归到古典 GC的范畴,目前还在使用以及正在开发的归到现代 GC的范畴。

...

Ch07-Java 之 内存分配与回收策略

September 5, 2017
JVM
Jvm

在确定了哪些垃圾可以被回收后,垃圾收集器要做的事情就是开始进行垃圾回收,但是这里面涉及到一个问题是:如何高效地进行垃圾回收。由于 Java 虚拟机规范并没有对如何实现垃圾收集器做出明确的规定,因此各个厂商的虚拟机可以采用不同的方式来实现垃圾收集器,所以在此只讨论几种常见的垃圾收集算法的核心思想。

...

Ch06-Java 之 垃圾收集算法

August 30, 2017
JVM
Jvm

在确定了哪些垃圾可以被回收后,垃圾收集器要做的事情就是开始进行垃圾回收,但是这里面涉及到一个问题是:如何高效地进行垃圾回收。由于 Java 虚拟机规范并没有对如何实现垃圾收集器做出明确的规定,因此各个厂商的虚拟机可以采用不同的方式来实现垃圾收集器,所以在此只讨论几种常见的垃圾收集算法的核心思想。

...

Ch05-Java 之 引用类型

August 19, 2017
JVM
Jvm

无论是通过引用计算算法判断对象的引用数量,还是通过可达性分析算法判断对象是否可达,判定对象是否可被回收都与引用有关。

...

Ch04-Java 之 类的整个生命周期

August 15, 2017
JVM
Jvm

其中类加载的过程包括了加载验证准备解析初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持 Java 语言的运行时绑定 (也成为动态绑定或晚期绑定)。另外注意这里的几个阶段是按顺序开始,而不是按顺序进行或完成,因为这些阶段通常都是互相交叉地混合进行的,通常在一个阶段执行的过程中调用或激活另一个阶段。

...

Ch03-Java 之 Java 对象结构

August 10, 2017
JVM
Jvm

在 HotSpot 虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头 (Header)实例数据 (Instance Data)对齐填充 (Padding)

...