thumbnail
Java ReentrantLock原理
ReentrantLock 是 Java JUC(java.util.concurrent) 包下的一个锁工具,它实现了 Lock 接口,与 synchronized 锁不同, ReentrantLock 除了用来做线程间互斥之外,还提供了很多高级的特性,例如公平锁 & 非公平锁以及可中断。   本文将从 JDK17 源码角度介绍一下 Re…
thumbnail
Raft 共识算法总结
Raft 算法是目前应用广泛的分布式共识算法,在许多知名的开源项目比如 etcd 中,都有 Raft 的身影。同时,随着 MIT6.824 课程的普及,Raft 俨然成为了最广为人知的分布式共识算法。   Raft 的设计动机之一就是为解决 Paxos 算法的难以理解性,因此 Raft 的一个大的特性就是易于理解。   直接啃论文是困难的,本文旨在…
thumbnail
操作系统概述
操作系统是控制管理整个计算机系统的软件与硬件资源,合理地组织和调度计算机的工作和资源的分配,进而为用户和应用程序提供方便接口与环境的程序集合,是一种最基本的系统软件。目前常用的计算机操作系统有windows,linux等,本文将从宏观的角度总结操作系统的工作流程,将分散的知识链接在一起,有助于理解操作系统。