java 源码
文章平均质量分 96
揪克
公众号:mxszgg / Android dev-er / github:https://github.com/jokermonn
展开
-
从实例和源码角度简析 ThreadLocal
ThreadLocal 是什么ThreadLocal 的使用ThreadLocal 源码解析ThreadLocal 使用场景注:此文源码摘自 sun jdk 1.8 ThreadLocal 是什么 打开 ThreadLocal 的源码我们可以看到如下的注释:大致翻译如下:该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get原创 2017-03-15 15:15:16 · 777 阅读 · 1 评论 -
CAS in java
概念比较compare with volatalecompare with Lock 锁的劣势CAS 在 java 中的应用概念CAS 英文全称 compare and swap,译为比较并交换,再通俗点 —— CAS 包含3个操作数,需要内存中的旧值 V,进行比较的值 A,以及拟写入的新值 B。当且仅当 V 等于 A 的时候,才会将 V 的值替换成 B,否则不执行任何操作。这里的“当且原创 2017-11-14 12:15:03 · 541 阅读 · 0 评论 -
从源码角度简析 Hashtable、HashMap 和 LinkedHashMap
Hashtable 与 HashMap 不同点相同点LinkedHashMap注意:此文原文均摘自 Sun jdkHashtable 与 HashMap不同点先看类的定义——除了接口的实现是相同的,我们可以看到继承的类是不同的,我们不妨打开 Dictionary 抽象类看一下我们可以看到红色箭头指向的地方,大致翻译一下就是 —— 注意:这个类已经过时了,新的实现应该去实现 Map 接口,而不原创 2017-03-08 09:45:25 · 586 阅读 · 0 评论 -
友好 RxJava2.x 源码解析(一)基本订阅流程
系列文章: 友好 RxJava2.x 源码解析(一)基本订阅流程 友好 RxJava2.x 源码解析(二)线程切换 友好 RxJava2.x 源码解析(三)zip 源码分析本文掘金地址:友好 RxJava2.x 源码解析(一)基本订阅流程本文基于 RxJava 2.1.3前言示例代码订阅流程源码解析订阅流程 Observable#subscribe(Observer) ...原创 2017-11-26 10:30:49 · 1391 阅读 · 0 评论 -
结合 TreeMap 源码分析红黑树在 java 中的实现
注:本文的源码摘自 jdk1.8 中 TreeMap红黑树的意义红黑树的性质左旋、右旋增删总结红黑树的意义红黑树本质上是一种特殊的二叉查找树,红黑树保证了一种平衡,插入、删除、查找的最坏时间复杂度都为 O(logn)。那么红黑树是如何实现这个特性的呢?红黑树区别于其他二叉查找树的规则在于它的每个结点拥有红色或黑色中的一种颜色,然后按照一定的规则组成红黑树,而这个规则就是我们这篇文章所想原创 2017-11-07 00:10:15 · 1203 阅读 · 0 评论 -
友好 RxJava2.x 源码解析(二)线程切换
系列文章: 友好 RxJava2.x 源码解析(一)基本订阅流程 友好 RxJava2.x 源码解析(二)线程切换 友好 RxJava2.x 源码解析(三)zip 源码分析本文掘金地址:友好 RxJava2.x 源码解析(二)线程切换本文基于 RxJava 2.1.3前言示例代码源码解析 Observer#onSubscribe(Dispose)Observable#o...原创 2017-11-26 10:36:26 · 1392 阅读 · 1 评论