摘要: 目录 AQS 重入锁ReentrantLock 1.可重入实现原理 1. 锁的获取 2. 锁的释放 2.公平锁与非公平锁实现原理 读写锁ReadWriteLock 什么是读写锁 1.读写状态的设计 2.写锁的获取与释放 2.1写锁的获取 2.2写锁的释放 3.读锁的获取与释放 3.1读锁的获取 3. 阅读全文
posted @ 2020-03-27 13:53 Ye_yang 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 目录 综述 Lock接口 1.什么是Lock接口 2.与synchronized的区别 3.Lock接口源码 4.如何使用,以及注意事项 可重入锁ReentrantLock 1.可重入锁ReentrantLock 什么是可重入锁? 什么是公平锁,非公平锁? 2.如何使用 公平锁与非公平锁测试对比 3 阅读全文
posted @ 2020-03-27 13:44 Ye_yang 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 目录 概述 Nginx 服务的基本配置项 HTTP 核心模块的配置 https://www.kancloud.cn/digest/understandingnginx/202587 本文转自上述专栏文章《理解Nginx源码》之Nginx配置文件 概述 Nginx 是使用一个 master 进程来管理 阅读全文
posted @ 2020-03-27 13:19 Ye_yang 阅读(665) 评论(0) 推荐(0) 编辑
摘要: 目录 Thrift基础 1.数据类型 基本类型 结构 容器 异常 服务 2.Thrift HelloWorld 2.1 thrift-idl模块 2.2 thrift-server模块 2.3 thrift-client模块 2.4 运行 Thrift原理分析 Thrift网络栈 Transport 阅读全文
posted @ 2020-03-27 13:15 Ye_yang 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 目录 第12章 Java内存模型与线程 12.3 Java内存模型 主内存和工作内存 主内存和工作内存之间的交互协议 1)对于volatile型变量的特殊规则 2)对于long和double型变量的特殊规则 原子性、可见性、有序性 先行发生原则(happens-before) 12.4 Java与线 阅读全文
posted @ 2020-03-27 13:02 Ye_yang 阅读(828) 评论(1) 推荐(1) 编辑
摘要: 目录 第13章 线程安全与锁优化 13.2 线程安全 13.2.1 Java语言中的线程安全 1.不可变 2.绝对线程安全 3.相对线程安全 4.线程兼容 5.线程对立 13.2.2 线程安全的实现方法 1.互斥同步 2.非阻塞同步 3.无同步方案 13.3 锁优化 1.自旋锁与自适应自旋 2.锁消 阅读全文
posted @ 2020-03-27 12:52 Ye_yang 阅读(465) 评论(0) 推荐(1) 编辑
摘要: 目录 1.LinkedBlockingQueue介绍 1.1BlockingQueue接口 1.2LinkedBlockingQueue 1.3LinkedBlockingQueue原理与数据结构 2.LinkedBlockingQueue源码分析 2.1创建 2.2put方法 2.3take方法 阅读全文
posted @ 2020-03-27 12:42 Ye_yang 阅读(751) 评论(0) 推荐(1) 编辑
摘要: 目录 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 阅读全文
posted @ 2020-03-27 12:36 Ye_yang 阅读(1284) 评论(1) 推荐(2) 编辑
摘要: 目录 1.ArrayBlockingQueue介绍 1.1BlockingQueue接口 1.2ArrayBlockingQueue 2.ArrayBlockingQueue源码分析 2.1创建 2.2生产者消费者模型 2.2.1生产者生产元素——put方法元素进队 2.2.2消费者消费元素——ta 阅读全文
posted @ 2020-03-27 12:30 Ye_yang 阅读(941) 评论(0) 推荐(0) 编辑
摘要: 目录 0.PKI理论基础 网络通讯安全威胁 密码技术 信息安全威胁解决方法 数字证书 中间人攻击 1.什么是PKI? 2.PKI系统的组成 2.1 PKI系统组成 2.2 PKI系统如何工作 3.CA层次结构 3.1 单层 3.2 两层 3.3 三层 4. 信任模型——证书链 证书类型 信任模型—— 阅读全文
posted @ 2020-03-27 11:35 Ye_yang 阅读(2545) 评论(0) 推荐(1) 编辑
摘要: 目录 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 阅读全文
posted @ 2020-03-27 10:52 Ye_yang 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 目录 6.2 Zookeeper在大型分布式系统中的应用 6.2.1 Hadoop YARN介绍 如何解决ResourceManager单点问题,实现高可用? 6.2.3 Kafka 术语介绍 问题 Kafka与Zookeeper Broker注册管理 Topic注册管理 生产者负载均衡 消费者负载 阅读全文
posted @ 2020-03-27 10:10 Ye_yang 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 目录 6.0 ZooKeeper 系统模型 1)数据模型 2)节点类型 3)Watcher——数据变更通知 6.1 Zookeeper的应用场景 1)统一命名服务 2)统一配置管理 3)统一集群管理 在线云主机管理 机器上下线 机器监控 4)Master选举 5)分布式锁 5.1)排它锁 定义锁 获 阅读全文
posted @ 2020-03-27 09:50 Ye_yang 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 目录 1.Docker简介 是什么 为什么会有docker出现? docker理念 一句话总结 能干嘛 之前的虚拟化技术 容器虚拟化技术 开发/运维(DevOps) 去哪下 2.Docker安装 Docker基本组成 安装 Hello World 底层原理 3.Docker常用命令 4.Docker 阅读全文
posted @ 2020-03-27 09:33 Ye_yang 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 目录 14高性能数据库集群:读写分离 15高性能数据库集群:分库分表 分库 分表 垂直分表 水平分表 实现方式 16高性能NoSQL 17高性能缓存架构 缓存使用场景 缓存使用常见问题 缓存穿透 缓存雪崩 缓存热点 实现方式 18单服务器高性能模式:PPC与TPC 19单服务器高性能模式:React 阅读全文
posted @ 2020-03-27 00:12 Ye_yang 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 目录 01架构到底是指什么? 02架构设计的历史背景 03架构设计的目的 04复杂度来源:高性能 单台计算机内部为了高性能带来的复杂度 多台计算机集群为了高性能带来的复杂度 05复杂度来源:高可用 高可用方案的本质 冗余”带来的复杂性 一、计算高可用 二、存储高可用 高可用状态决策 1)独裁式 2) 阅读全文
posted @ 2020-03-27 00:07 Ye_yang 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 目录 如何保证获取到的id单调递增? 方案评估 评估详情 性能 情况1:当获取id的请求路由到Master 情况2:当获取id的请求路由到非Master 总结 扩展性 可用性 Master切换 如何处理Master切换时的id分发问题,保证在Master切换时的可用性? 附录 1)北上机房ping耗 阅读全文
posted @ 2020-03-27 00:01 Ye_yang 阅读(1426) 评论(0) 推荐(0) 编辑