林烟夜暖

阅读JDK、框架源码的总结,微服务、RPC、服务治理实践等

ConcurrentHashMap源码分析(JDK7)

ConcurrentHashMap/HashMap/HashTable

ConcurrentHashMap源码分析(JDK7) ConcurrentHashMap和HashMap一样,都是基于散列的容器,ConcurrentHashMap可以认为是一种线程安全的HashMap,它使用了一种完全不同的加锁策略来提高并发性和伸缩性(不同于HashTable的粗粒度锁)。ConcurrentHashMap并不是将每个方法在同一个锁上同步并使得每次只能有一个线程访问容...

ThreadLocalRandom原理剖析

Random/ThreadLocalRandom

ThreadLocalRandom原理剖析 详见 阿里加多并发包中ThreadLocalRandom类原理剖析

TreeMap源码分析

TreeMap/RedBlackTree

TreeMap源码分析 TreeMap是一个有序的key-value集合,它内部是通过红-黑树实现的,如果对红-黑树不太了解,请参考下面这篇文章: 教你透彻了解红黑树。下面先看TreeMap的类图: public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap&...

Dubbo源码分析-router

Dubbo源码分析-router 转自肥朝,个人觉得Dubbo router过程分析得很清楚。 前言 估算了一下,dubbo里面涉及的东西还是比较多的.比如谈到框架的时候,设计模式都是一个老生常谈的话题,再比如我们开发中我们不常用的一些概念,spi、javassist,以及和zookeeper相关的一些知识,比如ZKClient的使用,这些和dubbo关系很密切,但是这些假如我不做一些...

Dubbo 服务降级分析

Dubbo 服务降级分析 在Dubbo 客户端发起请求过程分析中截取客户端请求总体流程中的一部分: //代理发出请求 proxy0.sayHello(String paramString) -->InvokerInvocationHandler.invoke(Object proxy, Method method, Object[] args) -->new RpcInv...

教你透彻了解红黑树

RedBlackTree(BST)

教你透彻了解红黑树 本文转自July——The-Art-Of-Programming-By-July 二叉查找树 由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。 二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序二叉树(sorted binary tree),是指一棵空树或者具有下列...

零拷贝技术

Zero Copy

零拷贝技术 什么是Zero-Copy? Linux 中的零拷贝技术,第 1 部分 Linux 中的零拷贝技术,第 2 部分 Linux 中直接 I/O 机制的介绍 计算机底层知识拾遗

ZooKeeper学习笔记

ZooKeeper

ZooKeeper学习笔记 第一章 分布式系统概念与ZooKeeper简介 1.Zookeeper简介 中间件,提供协调服务。 作用于分布式系统,发挥其优势,可以为大数据服务。 支持Java,提供Java和C语言的客户端API。 2.Zookeeper特性 一致性:数据一致性(顺序一致性),数据按照顺序分批入库;http://www.10tiao.com/html/616...

Dubbo 服务端响应编码

Encode Response

Dubbo 服务端响应编码 服务端响应编码总体流程: NettyCodecAdapter$InternalEncoder.encode(ChannelHandlerContext ctx, Object msg, ByteBuf out) -->new NettyBackedChannelBuffer(ByteBuf buffer) // 创建一个buffer -->Nett...

Dubbo 客户端响应解码

Decode Response

Dubbo 客户端响应解码 客户端响应解码整体流程: NettyCodecAdapter$InternalDecoder.decode(ChannelHandlerContext ctx, ByteBuf input, List<Object> out) -->new NettyBackedChannelBuffer(ByteBuf buffer) // 创建一个buf...