不能再被问住了!ReentrantLock 源码、画图一起看一看! 编程技术

不能再被问住了!ReentrantLock 源码、画图一起看一看!

前言 在阅读完 JUC 包下的 AQS 源码之后,其中有很多疑问,最大的疑问就是 state 究竟是什么含义?并且 AQS 主要定义了队列的出入,但是获取资源、释放资源都是交给子类实现的,那子类是怎么实现的呢?下面开始了解 ReentrantLock。 公众号:liuzhihangs,记录工作学习中的技术、开发及源码笔记;时不时分享一些生活中的见闻感悟。欢迎大佬来指导! 介绍...
阅读全文
【Java】HashMap源码分析 编程技术

【Java】HashMap源码分析

HashMap虽然常用,但是内部隐藏了很多实现细节,有太多值得推敲的东西,这里尽量去收录HashMap所有涉及的相关知识点。 数据结构-散列表 先从数据结构说起,HashMap对照的是数据结构中的 散列表 结构。在数据结构中有一种结构叫 字典 。有的书上定义:“以集合为基础的一些元素的集合,每个元素都有一个对应的key。支持元素的存在判断,插入和删除三种运算的的抽象数据类型就叫做字典“。...
阅读全文
观察者模式——从JDK到Spring 编程技术

观察者模式——从JDK到Spring

文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱 在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。 微信公众号,如果一个用户订阅了某个公众号,那么便会收到公众号发来的消息,那么,公众号就是『被观察者』,而用户就是『观察者』 气象站可以将每天预测到的温度、湿度、气压等以公告的形式...
阅读全文
Netty 源码分析之 四 Promise 与 Future: 双子星的秘密 Java

Netty 源码分析之 四 Promise 与 Future: 双子星的秘密

永顺大牛写的系列教程 《源码之下无秘密 ── 做最好的 Netty 源码分析教程》 是目前我读过最好的netty源码分析文章。但不知道什么原因,作者在写到第三章的时候停更了。因此,我想尝试凭着个人的理解,续写后边几个章节。 写在最前 永顺前辈已经写完章节有如下: Netty 源码分析之 番外篇 Java NIO 的前生今世 Netty 源码分析之 零 磨刀不误砍...
阅读全文
spring,springBoot事件 Java

spring,springBoot事件

这个系列分为5篇 1. @Component,@Service等注解是如何被解析的 2. @Enableq驱动原理(最晚20200705) 3. @EnableAutoConfiguration处理逻辑 4. spring,springBoot事件 5.自定义springboot starter(最晚20200726) 引言 sp...
阅读全文
Netty 源码分析之 六 流水线处理器: Handler 编程技术

Netty 源码分析之 六 流水线处理器: Handler

本文是永顺大牛写的系列教程 《源码之下无秘密 ── 做最好的 Netty 源码分析教程》 的续写章节。本章主要介绍Netty中用来处理数据流的handler以及底层原理。 写在最前 永顺前辈已写完的章节有如下: Netty 源码分析之 番外篇 Java NIO 的前生今世 Netty 源码分析之 零 磨刀不误砍柴工 源码分析环境搭建 Netty 源码分析...
阅读全文
开源诊断利器Arthas ByteKit 深度解读(1):基本原理介绍 编程技术

开源诊断利器Arthas ByteKit 深度解读(1):基本原理介绍

Arthas ByteKit 深度解读(1):基本原理介绍 前言 本文由整体到局部的思路展开分析Arthas ByteKit 字节码处理框架,结合类图和数据流图,介绍ByteKit字节码处理流程及核心对象。 简介 Arthas ByteKit 为新开发的字节码工具库,基于ASM提供更高层的字节码处理能力,面向诊断/APM领域,不是通用的字节码库。ByteKit期望能提供一...
阅读全文
微服务开源框架TARS的RPC源码解析 之 初识TARS C++服务端 软件架构

微服务开源框架TARS的RPC源码解析 之 初识TARS C++服务端

作者:Cony 导语:微服务开源框架TARS的RPC调用包含客户端与服务端,《微服务开源框架TARS的RPC源码解析》系列文章将从初识客户端、客户端的同步及异步调用、初识服务端、服务端的工作流程四部分,以C++语言为载体,深入浅出地带你了解TARS RPC调用的原理。 什么是TARS TARS是腾讯使用十年的微服务开发框架,目前支持C++、Java、PHP、Node.js、Go语言。该...
阅读全文
Loading...