自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ThreadLocal 从设计思想到源码解析

ThreadLocal 简要总结建议读者先阅读本人的上一篇reference 类型,以更好理解本文。经过上一篇reference 类型,初步理解了reference的概念,本篇文章分析jdk1.8 中的 ThreadLocal 类型。引言在java中我们知道万物皆为对象,在定义类的时候,会涉及到对变量的定义,如果加了static关键字,那么此变量就成为了类变量(静态变...

2018-09-12 13:52:45 449 1

翻译 原文翻译——java.util.concurrent AQS 同步器框架

JDK1.5之后java并发包基本上是基于AQS(AbstractQueuedSynchronizer)这个框架搭建的,AQS框架主要提供了对同步状态,阻塞和未阻塞线程/队列的原子性管理。本文主翻译 Doug Lea 大神的 AQS 框架论文原文,包括这个框架的逻辑依据,设计,实现,使用以及性能。最近想起java.util.concurrent并发包虽然平时开发一直会用到,但其实源码还...

2018-09-12 19:34:41 360 1

原创 透彻理解CLH 队列锁原理及其Java实现

CLH 锁队列介绍之前说到在学习 java 并发框架 AQS 的时候,其中的锁队列是在 CLH 锁队列的基础上改进而来的。本文主要介绍 CLH 队列锁。SMP 和 NUMA 简要介绍SMP(Symmetric MultiProcessing) 对称多处理是一种包括软硬件的多核计算机架构,会有两个或以上的相同的核心共享一块主存,这些核心在操作系统中地位相同,可以访问所有 I/O...

2018-09-12 15:18:46 10710 8

原创 java中的Reference类型

本文简要总结java中的Reference类型。最近在研读jdk并发框架,其中AQS是重点,由于我打破砂锅问到底的轻微强迫症,google了AQS作者Doug Lea的论文原文[The java.util.concurrent Synchronizer Framework],有兴趣的同学可以自行下载。其中谈到设计同步框架的核心是选择一个严格意义上的FIFO队列,作为阻塞线程队列并对其进行...

2018-09-12 13:51:07 10202 7

翻译 Gradle VS Maven 比较(官方文档翻译)英文水平有限

 以下是对 Gradle 和 Apache Maven 之间主要不同点的总结,概括为:灵活性,性能,用户体验和依赖管理。文本并不会对此进行长篇大论,你可以查看Gradle 特性列表 和 Gradle与Maven之间的性能比较 获取更多信息。灵活性谷歌(Google)选择将 Gradle 作为安卓的官方构建工具;并不是因为构建脚本是代码的缘故,而是因为 Gradle  采用了一种最基...

2018-08-09 18:44:39 1689

原创 【Git】常用命令

git init     初始化git文件夹git add  <filename[,filename2,filename3]> 将修改的文件添加到暂存区(stage)git commit -m "提交添加的注释"      将暂存区的所有内容提交到当前分支git status 查看当前仓库状态add 之前的状态add之后,commit之前的状态...

2018-08-09 10:57:18 138

转载 【设计模式】命令模式使用场景

使用命令模式作为“回调(CallBack)”在面向对象系统中的代替。“CallBack”讲的便是现将一个函数登记上,然后在以后调用此函数。需要在不同的时间制定请求、将请求排队。一个命令对象和原先的请求发出者可以有不同的生命周期。换言之,原先的请求发出者可能已经不存在了,而命令对象本身仍然是活动的。这时命令的接受者可以是在本地,也可以在网络的另外一个地址。命令对象可以在序列化之后传送到另外一台机...

2018-07-12 15:30:59 6513 3

原创 netty 源码解读三 内存分配相关(1)-buddy 伙伴内存分配算法

1.前言:PooledByteBufAllocator 实现相当复杂,其中涉及许多复杂的数据结构类:1)PoolArena2)PoolChunk 3)PoolSubpage5)PoolThreadCache还有其他相关辅助类包括 PoolChunkList其核心思想是利用了为 FreeBSD 设计的 jemalloc 内存分配算法和 buddy  分配算法。为了更好地解...

2018-05-17 18:20:13 1036

原创 netty 源码解读四 内存分配相关(2)- jemalloc 内存分配算法

123

2018-05-17 10:37:08 1462

原创 netty 源码解读二 ByteBufAllocator 接口

在上一篇 netty 源码解读之一 ByteBuf 接口 中我们解读了一遍 ByteBuf 源码,应该对这个 netty 中最核心的缓存数据结构有所了解了。但我们在前文发现 ByteBuf 中没有用于创建 ByteBuf 本身的方法,今天我们就来解读一下 netty 中用于创建 ByteBuf 的辅助接口 ByteBufAllocator 及其体系结构。...

2018-05-09 10:35:30 642

原创 netty 源码解读一 ByteBuf 接口

ByteBuf 是 netty 中用于存储 I/O 数据的最核心的数据结构,本文解读其源码。首先看一下 ByteBuf 的类层次:我们先看一下其中主要的抽象类:1. AbstractByteBuf       本类是 ByteBuf 的骨架实现,其中实现了很多通用方法,为继承它的具体实现类完成了很多通用操作。2. AbstractDerivedByteBuf       本类继承 Abstract...

2018-05-08 16:14:28 903

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除