个人简介

Echo Blog


江湖无名 安心练剑
  • 锁专题(7)从零手写实现你的 SpinLock 自旋锁及可重入锁
    点赞再看,已成习惯。 序言 我们在前面的文章中详细介绍了 jdk 自带的可重入锁使用及其源码。 本节就让我们一起来实现一个可重入锁。 接口定义 为了便于后期拓展,我们统一定义接口。 接口 继承自 jdk Lock 接口,并且新增了几个常用的方法。 package com.github.houbb.lock.api.core; import java.util.c...
    2020-10-17 08:15:55 | Lock
  • 锁专题(6)AbstractQueuedSynchronizer AQS 源码详解
    点赞再看,已成习惯。 AQS 提供一个框架,用于实现依赖先进先出(FIFO)等待队列的阻塞锁和相关同步器(信号量,事件等)。 源码学习 类定义 /* * @since 1.5 * @author Doug Lea */ public abstract class AbstractQueuedSynchronizer extends AbstractOwnabl...
    2020-10-17 08:15:55 | Lock
  • 锁专题(5)Seqlocks 在 java 中如何实现论文详解
    点赞再看,已成习惯。 本文出自论文《Can Seqlocks Get Along With Programming Language Memory Models?》,由老马啸西风翻译整理。 这篇论文李大狗在 StampedLock 的算法笔记中提及,好奇心驱使着我将论文找出来,拜读一下。 序言 在某些情况下,Seqlock是一种重要的同步机制,它表示对常规读写器锁的重大改进。...
    2020-10-17 08:15:55 | Lock
  • 锁专题(3)ReentrantLock 可重入锁源码解析
    点赞再看,已成习惯。 ReentrantLock 源码 介绍 ReentrantLock 的文章很多,今天我们来一起看一下 ReentrantLock 的源码,理解一下实现原理。 类定义 ReentrantLock 实现了 Lock 接口,和序列化接口。 /** * @author 老马啸西风 */ public class ReentrantLock implem...
    2020-10-17 08:15:55 | Lock
  • 锁专题(2)Lock 和 Condition 接口简介
    接口源码学习 说明 Lock 接口和 Condition 接口作为锁最核心的两个接口,这里做一下简单介绍,为后续的源码阅读提供基础。 jdk 版本 >java -version java version "1.8.0_192" Java(TM) SE Runtime Environment (build 1.8.0_192-b12) Java HotSpot(TM) 64-Bi...
    2020-10-17 08:15:55 | Lock
  • 锁专题(1)概览 lock overview
    专题创作目的 系统整理学习 Java 中的锁信息。 为后续 mysql 数据库编写做铺垫。 历史回顾 基础知识 java 锁基本概念 java 对象锁 java 可重入锁 异步转同步 java 手写并发框架(一)异步查询转同步的 7 种实现方式 java 手写并发框架(二)异步转同步框架封装锁策略 java 手写并发框架(三)异步转同步框架注解和字节码增强 java ...
    2020-10-17 08:15:55 | Lock
  • 操作系统学习(15)IO 缓存和 buffer
    1. 磁盘高速缓存(Disk Cache) 操作系统中使用磁盘高速缓存技术来提高磁盘的I/O速度,对高速缓存复制的访问要比原始数据访问更为高效。 例如,正在运行的进程的指令既存储在磁盘上,也存储在物理内存上,也被复制到CPU的二级和一级高速缓存中。 不过,磁盘高速缓存技术不同于通常意义下的介于CPU与内存之间的小容量高速存储器,而是指利用内存中的存储空间来暂存从磁盘中读出的一系列盘块中...
    2020-10-04 03:18:54 | OS
  • 操作系统学习(14)IO
    I/O设备及其分类 I/O设备管理是操作系统设计中最凌乱也最具挑战性的部分。 由于它包含了很多领域的不同设备以及与设备相关的应用程序,因此很难有一个通用且一致的设计方案。 所以在理解设备管理之前,应该先了解具体的I/O设备类型。 特性分类 计算机系统中的I/O设备按使用特性可分为以下类型: 1) 人机交互类外部设备:用于同计算机用户之间交互的设备,如打印机、显示器、鼠标、键盘等。...
    2020-10-04 03:18:54 | OS