0%

再强大的内心,估计也抵抗不住岁月的流逝吧…那天和媳妇聊天,说起十年前,觉得十年好遥远,现在觉得十年前就想是在昨天。

今天是 2018 年的最后一天,像去年的今天一样,仿佛就像是在昨天,想着总结一下过去的一年,发现啥都写不出来。

今年为了西安房子的装修,从 6 月份后几乎每隔一月就在西安和北京奔波一回。装修房子的过程是痛苦的,什么都不懂,多花了不少冤枉钱,效果也不太满意,如果还会有第二套房子装修,我想应该会好很多吧!

工作上马马虎虎,个人能力感觉也没什么长进。又一波互联网大寒冬来袭,倒了一大批创业公司,各大公司也纷纷传出裁员的新闻,瑟瑟发抖,越来越焦虑了!

阅读全文 »

接着上次 JVM 中 GC 机制的总结,这次主要复习一下垃圾收集的常用算法和 Minor GC、Full GC 相关的一些知识点。

一、垃圾收集算法

1.1 标记 - 清除(Mark-Sweep)

算法分成 “标记”、“清除” 两个阶段:首先标记出所有需要回收的对象(两次标记),在标记完成后统一回收所有被标记的对象。如下图所示:

阅读全文 »

在 JVM 运行时数据区域中,程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后也会消失,因此不需要对这三个区域进行垃圾回收。垃圾回收主要是针对 Java 堆和方法区进行。

一、判断对象状态

JVM 在回收一个对象时,首先要判断这个对象的状态,如果判断对象为无效的(没有被任何对象或变量引用),则需要被 JVM 垃圾回收器回收。

1.1 引用计数算法

给对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数不为 0 的对象仍然存活。

阅读全文 »

一些零碎的知识点总是似懂非懂,用法老是模棱两可,每次都要去网络上查询,长时间不用又忘记了。比如 Java 中的位运算。今天抽空归纳总结一下,加强一下记忆。

一、原码、反码和补码

1.1 原码

一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数为 0, 负数为 1。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。

原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比如 8 位二进制:

1
2
[+1] 原 = 0000 0001
[-1] 原 = 1000 0001

第一位是符号位,因为第一位是符号位,所以 8 位二进制数的取值范围就是:[1111 1111 , 0111 1111],即:[-127 , 127]

阅读全文 »

SQL 标准定义了 4 类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。

一、SQL 事务隔离级别说明

1.1 Read Uncommitted(读取未提交内容)

在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。

阅读全文 »
Title - Artist
0:00