- 博客(11)
- 收藏
- 关注

原创 ThreadLocal 从设计思想到源码解析
ThreadLocal 简要总结建议读者先阅读本人的上一篇reference 类型,以更好理解本文。经过上一篇reference 类型,初步理解了reference的概念,本篇文章分析jdk1.8 中的 ThreadLocal 类型。引言在java中我们知道万物皆为对象,在定义类的时候,会涉及到对变量的定义,如果加了static关键字,那么此变量就成为了类变量(静态变...
2018-09-12 13:52:45
501
1
翻译 原文翻译——java.util.concurrent AQS 同步器框架
JDK1.5之后java并发包基本上是基于AQS(AbstractQueuedSynchronizer)这个框架搭建的,AQS框架主要提供了对同步状态,阻塞和未阻塞线程/队列的原子性管理。本文主翻译 Doug Lea 大神的 AQS 框架论文原文,包括这个框架的逻辑依据,设计,实现,使用以及性能。最近想起java.util.concurrent并发包虽然平时开发一直会用到,但其实源码还...
2018-09-12 19:34:41
426
原创 透彻理解CLH 队列锁原理及其Java实现
CLH 锁队列介绍之前说到在学习 java 并发框架 AQS 的时候,其中的锁队列是在 CLH 锁队列的基础上改进而来的。本文主要介绍 CLH 队列锁。SMP 和 NUMA 简要介绍SMP(Symmetric MultiProcessing) 对称多处理是一种包括软硬件的多核计算机架构,会有两个或以上的相同的核心共享一块主存,这些核心在操作系统中地位相同,可以访问所有 I/O...
2018-09-12 15:18:46
11074
8
原创 java中的Reference类型
本文简要总结java中的Reference类型。最近在研读jdk并发框架,其中AQS是重点,由于我打破砂锅问到底的轻微强迫症,google了AQS作者Doug Lea的论文原文[The java.util.concurrent Synchronizer Framework],有兴趣的同学可以自行下载。其中谈到设计同步框架的核心是选择一个严格意义上的FIFO队列,作为阻塞线程队列并对其进行...
2018-09-12 13:51:07
10350
7
翻译 Gradle VS Maven 比较(官方文档翻译)英文水平有限
以下是对 Gradle 和 Apache Maven 之间主要不同点的总结,概括为:灵活性,性能,用户体验和依赖管理。文本并不会对此进行长篇大论,你可以查看Gradle 特性列表 和 Gradle与Maven之间的性能比较 获取更多信息。灵活性谷歌(Google)选择将 Gradle 作为安卓的官方构建工具;并不是因为构建脚本是代码的缘故,而是因为 Gradle 采用了一种最基...
2018-08-09 18:44:39
1768
原创 【Git】常用命令
git init 初始化git文件夹git add <filename[,filename2,filename3]> 将修改的文件添加到暂存区(stage)git commit -m "提交添加的注释" 将暂存区的所有内容提交到当前分支git status 查看当前仓库状态add 之前的状态add之后,commit之前的状态...
2018-08-09 10:57:18
167
转载 【设计模式】命令模式使用场景
使用命令模式作为“回调(CallBack)”在面向对象系统中的代替。“CallBack”讲的便是现将一个函数登记上,然后在以后调用此函数。需要在不同的时间制定请求、将请求排队。一个命令对象和原先的请求发出者可以有不同的生命周期。换言之,原先的请求发出者可能已经不存在了,而命令对象本身仍然是活动的。这时命令的接受者可以是在本地,也可以在网络的另外一个地址。命令对象可以在序列化之后传送到另外一台机...
2018-07-12 15:30:59
6570
2
原创 netty 源码解读三 内存分配相关(1)-buddy 伙伴内存分配算法
1.前言:PooledByteBufAllocator 实现相当复杂,其中涉及许多复杂的数据结构类:1)PoolArena2)PoolChunk 3)PoolSubpage5)PoolThreadCache还有其他相关辅助类包括 PoolChunkList其核心思想是利用了为 FreeBSD 设计的 jemalloc 内存分配算法和 buddy 分配算法。为了更好地解...
2018-05-17 18:20:13
1087
原创 netty 源码解读二 ByteBufAllocator 接口
在上一篇 netty 源码解读之一 ByteBuf 接口 中我们解读了一遍 ByteBuf 源码,应该对这个 netty 中最核心的缓存数据结构有所了解了。但我们在前文发现 ByteBuf 中没有用于创建 ByteBuf 本身的方法,今天我们就来解读一下 netty 中用于创建 ByteBuf 的辅助接口 ByteBufAllocator 及其体系结构。...
2018-05-09 10:35:30
681
原创 netty 源码解读一 ByteBuf 接口
ByteBuf 是 netty 中用于存储 I/O 数据的最核心的数据结构,本文解读其源码。首先看一下 ByteBuf 的类层次:我们先看一下其中主要的抽象类:1. AbstractByteBuf 本类是 ByteBuf 的骨架实现,其中实现了很多通用方法,为继承它的具体实现类完成了很多通用操作。2. AbstractDerivedByteBuf 本类继承 Abstract...
2018-05-08 16:14:28
982
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人