03 2020 档案
摘要:目录 AQS 重入锁ReentrantLock 1.可重入实现原理 1. 锁的获取 2. 锁的释放 2.公平锁与非公平锁实现原理 读写锁ReadWriteLock 什么是读写锁 1.读写状态的设计 2.写锁的获取与释放 2.1写锁的获取 2.2写锁的释放 3.读锁的获取与释放 3.1读锁的获取 3.
阅读全文
摘要:目录 综述 Lock接口 1.什么是Lock接口 2.与synchronized的区别 3.Lock接口源码 4.如何使用,以及注意事项 可重入锁ReentrantLock 1.可重入锁ReentrantLock 什么是可重入锁? 什么是公平锁,非公平锁? 2.如何使用 公平锁与非公平锁测试对比 3
阅读全文
摘要:目录 概述 Nginx 服务的基本配置项 HTTP 核心模块的配置 https://www.kancloud.cn/digest/understandingnginx/202587 本文转自上述专栏文章《理解Nginx源码》之Nginx配置文件 概述 Nginx 是使用一个 master 进程来管理
阅读全文
摘要:目录 Thrift基础 1.数据类型 基本类型 结构 容器 异常 服务 2.Thrift HelloWorld 2.1 thrift-idl模块 2.2 thrift-server模块 2.3 thrift-client模块 2.4 运行 Thrift原理分析 Thrift网络栈 Transport
阅读全文
摘要:目录 第12章 Java内存模型与线程 12.3 Java内存模型 主内存和工作内存 主内存和工作内存之间的交互协议 1)对于volatile型变量的特殊规则 2)对于long和double型变量的特殊规则 原子性、可见性、有序性 先行发生原则(happens-before) 12.4 Java与线
阅读全文
摘要:目录 第13章 线程安全与锁优化 13.2 线程安全 13.2.1 Java语言中的线程安全 1.不可变 2.绝对线程安全 3.相对线程安全 4.线程兼容 5.线程对立 13.2.2 线程安全的实现方法 1.互斥同步 2.非阻塞同步 3.无同步方案 13.3 锁优化 1.自旋锁与自适应自旋 2.锁消
阅读全文
摘要:目录 1.LinkedBlockingQueue介绍 1.1BlockingQueue接口 1.2LinkedBlockingQueue 1.3LinkedBlockingQueue原理与数据结构 2.LinkedBlockingQueue源码分析 2.1创建 2.2put方法 2.3take方法
阅读全文
摘要:目录 1.DelayQueue介绍 2.DelayQueue源码分析 2.1领导者/追随者(Leader/Follower)模式 2.1.1半同步/半异步(Half-Sync/Half-Async)模式 2.1.2领导者/追随者(Leader/Follower)模式 2.2创建 2.3put方法 2
阅读全文
摘要:目录 1.ArrayBlockingQueue介绍 1.1BlockingQueue接口 1.2ArrayBlockingQueue 2.ArrayBlockingQueue源码分析 2.1创建 2.2生产者消费者模型 2.2.1生产者生产元素——put方法元素进队 2.2.2消费者消费元素——ta
阅读全文
摘要:目录 0.PKI理论基础 网络通讯安全威胁 密码技术 信息安全威胁解决方法 数字证书 中间人攻击 1.什么是PKI? 2.PKI系统的组成 2.1 PKI系统组成 2.2 PKI系统如何工作 3.CA层次结构 3.1 单层 3.2 两层 3.3 三层 4. 信任模型——证书链 证书类型 信任模型——
阅读全文
摘要:目录 1.AOP概览 2.Spring AOP的使用举例 PointCut切入点 Advice通知 3.Spring AOP的实现原理 3.1运行时织入 3.1.1代理模式 3.1.2 JDK动态代理 3.1.3 cglib动态代理 3.1.4 Spring如何创建代理bean ProxyFacto
阅读全文
摘要:目录 6.2 Zookeeper在大型分布式系统中的应用 6.2.1 Hadoop YARN介绍 如何解决ResourceManager单点问题,实现高可用? 6.2.3 Kafka 术语介绍 问题 Kafka与Zookeeper Broker注册管理 Topic注册管理 生产者负载均衡 消费者负载
阅读全文
摘要:目录 6.0 ZooKeeper 系统模型 1)数据模型 2)节点类型 3)Watcher——数据变更通知 6.1 Zookeeper的应用场景 1)统一命名服务 2)统一配置管理 3)统一集群管理 在线云主机管理 机器上下线 机器监控 4)Master选举 5)分布式锁 5.1)排它锁 定义锁 获
阅读全文
摘要:目录 1.Docker简介 是什么 为什么会有docker出现? docker理念 一句话总结 能干嘛 之前的虚拟化技术 容器虚拟化技术 开发/运维(DevOps) 去哪下 2.Docker安装 Docker基本组成 安装 Hello World 底层原理 3.Docker常用命令 4.Docker
阅读全文
摘要:目录 14高性能数据库集群:读写分离 15高性能数据库集群:分库分表 分库 分表 垂直分表 水平分表 实现方式 16高性能NoSQL 17高性能缓存架构 缓存使用场景 缓存使用常见问题 缓存穿透 缓存雪崩 缓存热点 实现方式 18单服务器高性能模式:PPC与TPC 19单服务器高性能模式:React
阅读全文
摘要:目录 01架构到底是指什么? 02架构设计的历史背景 03架构设计的目的 04复杂度来源:高性能 单台计算机内部为了高性能带来的复杂度 多台计算机集群为了高性能带来的复杂度 05复杂度来源:高可用 高可用方案的本质 冗余”带来的复杂性 一、计算高可用 二、存储高可用 高可用状态决策 1)独裁式 2)
阅读全文
摘要:目录 如何保证获取到的id单调递增? 方案评估 评估详情 性能 情况1:当获取id的请求路由到Master 情况2:当获取id的请求路由到非Master 总结 扩展性 可用性 Master切换 如何处理Master切换时的id分发问题,保证在Master切换时的可用性? 附录 1)北上机房ping耗
阅读全文
摘要:目录 Sofaboot功能描述 1.扩展 Spring Boot 的健康检查的能力 liveness check and readiness check Sofaboot的Readiness Check 2.提供模块化开发能力 3.提供模块并行加载和Spring Bean异步初始化能力 4.日志空间
阅读全文
摘要:目录 Chubby 设计目标 chubby系统结构 1)chubby一致性 选举Master 处理客户端请求 服务端架构 2)Chubby文件系统 3)Chubby Master与客户端如何交互 Chubby中的事件通知机制 Chubby中的缓存 会话和keepalive 会话超时 Chubby M
阅读全文
摘要:目录 1.Paxos算法存在的问题 2.Raft算法 2.1 复制状态机 2.2. Raft算法 2.2.1 安全性问题 2.2.2 Leader选举 2.2.3日志复制 日志一致性检查 日志提交 参考资料 1.Paxos算法存在的问题 Paxos算法是莱斯利·兰伯特(英语:Leslie Lampo
阅读全文
摘要:目录 前言:分布式一致性问题的提出 1.1 从集中式到分布式 1.2 从ACID到CAP/BASE ACID 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 事务隔离级别 持久性(Durability) 分布式事务 一个典型的分布式事务场景:跨银行转账
阅读全文
摘要:1. 查找进程top查看进程占用资源情况 2.查找线程使用top -H -p <pid>查看线程占用情况 3.查找java的堆栈信息将线程id转换成十六进制#printf %x 15664#3d30 然后再使用jstack查询线程的堆栈信息语法:jstack <pid> | grep -a 线程id
阅读全文