Skip to content

Commit

Permalink
[docs update]Java并发部分内容重构完善
Browse files Browse the repository at this point in the history
  • Loading branch information
Snailclimb committed Aug 4, 2022
1 parent c58d5c3 commit dffc5dd
Show file tree
Hide file tree
Showing 41 changed files with 409 additions and 122 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,12 @@

**重要知识点详解**

- [JMM(Java 内存模型)详解](./docs/java/concurrent/jmm.md)
- **线程池**[Java 线程池详解](./docs/java/concurrent/java-thread-pool-summary.md)[Java 线程池最佳实践](./docs/java/concurrent/java-thread-pool-best-practices.md)
- [ThreadLocal 关键字解析](docs/java/concurrent/threadlocal.md)
- [ThreadLocal 详解](docs/java/concurrent/threadlocal.md)
- [Java 并发容器总结](docs/java/concurrent/java-concurrent-collections.md)
- [Atomic 原子类总结](docs/java/concurrent/atomic-classes.md)
- [AQS 原理以及 AQS 同步组件总结](docs/java/concurrent/aqs.md)
- [AQS 详解](docs/java/concurrent/aqs.md)
- [CompletableFuture入门](docs/java/concurrent/completablefuture-intro.md)

### JVM (必看 :+1:)
Expand Down
2 changes: 1 addition & 1 deletion docs/.vuepress/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,11 +104,11 @@ export const sidebarConfig = defineSidebarConfig({
icon: "star",
collapsable: true,
children: [
"jmm",
"java-thread-pool-summary",
"java-thread-pool-best-practices",
"java-concurrent-collections",
"aqs",
"reentrantlock",
"atomic-classes",
"threadlocal",
"completablefuture-intro",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ head:
- - meta
- name: keywords
content: 操作系统,进程,进程通信方式,死锁,操作系统内存管理,块表,多级页表,虚拟内存,页面置换算法
- - meta
- name: description
content: 很多读者抱怨计算操作系统的知识点比较繁杂,自己也没有多少耐心去看,但是面试的时候又经常会遇到。所以,我带着我整理好的操作系统的常见问题来啦!这篇文章总结了一些我觉得比较重要的操作系统相关的问题比如进程管理、内存管理、虚拟内存等等。
---
Expand Down
1 change: 1 addition & 0 deletions docs/database/mysql/mysql-questions-01.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ head:
- - meta
- name: keywords
content: MySQL基础,MySQL基础架构,MySQL存储引擎,MySQL查询缓存,MySQL事务,MySQL锁等内容。
- - meta
- name: description
content: 一篇文章总结MySQL常见的知识点和面试题,涵盖MySQL基础、MySQL基础架构、MySQL存储引擎、MySQL查询缓存、MySQL事务、MySQL锁等内容。
---
Expand Down
1 change: 1 addition & 0 deletions docs/database/redis/redis-data-structures-01.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ head:
- - meta
- name: keywords
content: Redis常见数据结构
- - meta
- name: description
content: Redis基础数据结构总结:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)
---
Expand Down
1 change: 1 addition & 0 deletions docs/database/redis/redis-data-structures-02.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ head:
- - meta
- name: keywords
content: Redis常见数据结构
- - meta
- name: description
content: Redis特殊数据结构总结:HyperLogLogs(基数统计)、Bitmap (位存储)、Geospatial (地理位置)。
---
Expand Down
1 change: 1 addition & 0 deletions docs/database/redis/redis-questions-01.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ head:
- - meta
- name: keywords
content: Redis基础,Redis常见数据结构,Redis线程模型,Redis内存管理,Redis事务,Redis性能优化
- - meta
- name: description
content: 一篇文章总结Redis常见的知识点和面试题,涵盖Redis基础、Redis常见数据结构、Redis线程模型、Redis内存管理、Redis事务、Redis性能优化等内容。
---
Expand Down
1 change: 1 addition & 0 deletions docs/database/redis/redis-questions-02.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ head:
- - meta
- name: keywords
content: Redis基础,Redis常见数据结构,Redis线程模型,Redis内存管理,Redis事务,Redis性能优化
- - meta
- name: description
content: 一篇文章总结Redis常见的知识点和面试题,涵盖Redis基础、Redis常见数据结构、Redis线程模型、Redis内存管理、Redis事务、Redis性能优化等内容。
---
Expand Down
1 change: 1 addition & 0 deletions docs/high-performance/load-balancing.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ head:
- - meta
- name: keywords
content: 客户端负载均衡,服务负载均衡,Nginx,负载均衡算法,七层负载均衡,DNS解析
- - meta
- name: description
content: 负载均衡指的是将用户请求分摊到不同的服务器上处理,以提高系统整体的并发处理能力。负载均衡可以简单分为服务端负载均衡和客户端负载均衡 这两种。服务端负载均衡涉及到的知识点更多,工作中遇到的也比较多,因为,我会花更多时间来介绍。
---
Expand Down
1 change: 1 addition & 0 deletions docs/high-performance/message-queue/rabbitmq-questions.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ head:
- - meta
- name: keywords
content: RabbitMQ,AMQP,Broker,Exchange,优先级队列,延迟队列
- - meta
- name: description
content: RabbitMQ 是一个在 AMQP(Advanced Message Queuing Protocol )基础上实现的,可复用的企业消息系统。它可以用于大型软件系统各个模块之间的高效通信,支持高并发,支持可扩展。它支持多种客户端如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX,持久化,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
---
Expand Down
1 change: 1 addition & 0 deletions docs/java/basis/java-basic-questions-01.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ head:
- - meta
- name: keywords
content: JVM,JDK,JRE,字节码详解,Java 基本数据类型,装箱和拆箱
- - meta
- name: description
content: 全网质量最高的Java基础常见知识点和面试题总结,希望对你有帮助!
---
Expand Down
1 change: 1 addition & 0 deletions docs/java/basis/java-basic-questions-02.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ head:
- - meta
- name: keywords
content: 面向对象,构造方法,接口,抽象类,String,Object
- - meta
- name: description
content: 全网质量最高的Java基础常见知识点和面试题总结,希望对你有帮助!
---
Expand Down
1 change: 1 addition & 0 deletions docs/java/basis/java-basic-questions-03.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ head:
- - meta
- name: keywords
content: Java异常,泛型,反射,IO,注解
- - meta
- name: description
content: 全网质量最高的Java基础常见知识点和面试题总结,希望对你有帮助!
---
Expand Down
1 change: 1 addition & 0 deletions docs/java/basis/spi.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ head:
- - meta
- name: keywords
content: Java SPI机制
- - meta
- name: description
content: SPI 即 Service Provider Interface ,字面意思就是:“服务提供者的接口”,我的理解是:专门提供给服务提供者或者扩展框架功能的开发者去使用的一个接口。SPI 将服务接口和具体的服务实现分离开来,将服务调用方和服务实现者解耦,能够提升程序的扩展性、可维护性。修改或者替换服务实现并不需要修改调用方。
---
Expand Down
3 changes: 2 additions & 1 deletion docs/java/collection/java-collection-questions-01.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ tag:
head:
- - meta
- name: keywords
content: Collection,List,Set,Queue,Deque,PriorityQueue,
content: Collection,List,Set,Queue,Deque,PriorityQueue
- - meta
- name: description
content: Java集合常见知识点和面试题总结,希望对你有帮助!
---
Expand Down
1 change: 1 addition & 0 deletions docs/java/collection/java-collection-questions-02.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ head:
- - meta
- name: keywords
content: HashMap,ConcurrentHashMap,Hashtable,List,Set
- - meta
- name: description
content: Java集合常见知识点和面试题总结,希望对你有帮助!
---
Expand Down
4 changes: 3 additions & 1 deletion docs/java/concurrent/aqs.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: AQS 原理&AQS 同步组件总结
title: AQS 详解
category: Java
tag:
- Java并发
Expand All @@ -13,6 +13,8 @@ tag:
- 用过 `Semaphore` 吗?应用场景了解吗?
- ......

相关阅读:[从 ReentrantLock 的实现看AQS的原理及应用](./reentrantlock.md)

## AQS 简单介绍

AQS 的全称为 `AbstractQueuedSynchronizer` ,翻译过来的意思就是抽象队列同步器。这个类在 `java.util.concurrent.locks` 包下面。
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<mxfile host="Electron" modified="2022-01-24T01:30:38.715Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="l1tJc7jft47xw4GR_2dM" version="13.4.5" type="device"><diagram id="f1uOqe90rjhexKzs8PuL" name="Page-1">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</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-04T12:45:10.835Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="WotcJiYPt2iKRm6Hc-5O" version="13.4.5" type="device"><diagram id="f1uOqe90rjhexKzs8PuL" name="Page-1">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</diagram></mxfile>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<mxfile host="Electron" modified="2022-01-24T01:31:02.213Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="tG8e46NqnXu62oEqxvIZ" version="13.4.5" type="device"><diagram id="l-JW3fph1e97gRfsgveQ" name="Page-1">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</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-04T12:45:04.137Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="bDDGEj_wTsAIpHJuuoFW" version="13.4.5" type="device"><diagram id="l-JW3fph1e97gRfsgveQ" name="Page-1">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</diagram></mxfile>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-08-04T12:39:26.711Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="owfxTT7KcwZ98QLN75Wc" version="13.4.5" type="device"><diagram id="XZHCjfYPnYWvLepVL7Sq" name="Page-1">7Vtdc6M2FP01PCbDhxH40XacdNpsZ9vstJu+ySAb1jJiQY7t/vpKQhjzZeME7DRhkhmjKyHQPedcXYRQjMlq+xDB0PtCXIQVXXW3inGn6LqmqYD9cMsusQyHVmJYRL4rG2WGJ/9fJI2qtK59F8W5hpQQTP0wb3RIECCH5mwwisgm32xOcP6qIVygkuHJgbhs/dt3qZeOCwyzil+Qv/DSSwNzkNSsYNpaDiX2oEs2ByZjqhiTiBCaHK22E4S591LHJOfd19Tu7yxCAW1ygr755+fz79HXUbzGy/lv85vJ+o8bO+nlBeK1HLG8WbpLXRCRdeAi3ommGOON51P0FEKH124Y6Mzm0RWW1fESUceThTkJqISU3RurTD3AC+XblyN6QRFF2wOTHM4DIitEox1rImuNgXStJJeumUl5k0Glp228A5QGtjRCSY/Fvu/MgexA+vAMfxplf05NxTaV0USZDpTxRGEC4JZ7ZcwO7oVl9Ct8gQ+c6YoOMLvH8SzKYQB+rjlLhENvYuHREWuggXCbVbKjhfidWsr4Thlq/GA0VobD/XV+sOsIRd06QQln5nRaAJNGZIkmBJOIWQISIH4PPsYFE8T+ImBFh0GJmH3MIfSZiEayYuW7Lr9MJXsyfnFaYDhDeAyd5ULYixfPGKUBWU6bKLoxFn+iTwqpT/i1bwy1yMu2eWjaeR4OVLXEQ82u4KHWFQ21Kl0n1OIua0Quu4pc37wIQTfti91b0p1k3vukVAsID4w8wns0DxAGFQDrXQEMwIUCt5BZCY1DxJjuXIjsuVOCl9UAx0azeTsgWGoh3KdT7alwb4OOULDUktORy/IHWSQR9ciCBBBPM2uBnFmbR0JC6f8fiNKdBACuKclDVUQnB12tn/mNHfVyhDCLmS/5xKfKZfLUr8QXkaQGHWAWuE9htEBUnnWYpxQ6MvUTHcVkHTmo1JFAcD+e14M6GJ6WFptBQn5I4UxgeoBOlc5iNvYUMg46y1Yp9AMuJXGOQzCGYeyLzpIWno/dR7gja5peJi2N87o+X4qv488ZwbKoU6tiOtSr0rLO5sOUQk0wZWOnPsR/sscJGCyawFuGz41I+E3wXRpCzlYUTV+YW2Npq5j2qAgBIg9C8/TcGaGUrGQhku7adypcZY7ZPxvjRL01FZONZsLKWlZm/7x5xJKlgBED+gJcBGO6QTGthP24Nk6T4RTYpt0V1loF1mfmPmZV7jMNxO01S33ewibxKAszNhHm7jkWGavH0h4UtEGehojvlfOeEdd7dV9Y3bs8pKegB50F9ooHbqnQOIRBe2JPevvoYtcbE+B6iA96sV9H7JrWUO3dBXqzV3uLah80ZsD1EG+wzvGp1V67LlZas+kuLljg2nHBKrHk9vb24woXNIboepA0eLP0qYXbmRx1o7wsemHsq1bQ+mn6tWq3GzPgaoiDfn3tWmof6s3U3tkDGahfb+vVfrbaQXvrbd0h3q+3XUnthtlQ7d1F+n7BrU21t7fg1hnillZy/7kvuXNvGF/xxhtxbnyXnYnCMy8wNcri3faw8m6XxoTCm84yKunYxCvlY0mY9DhNw1AtovLZrL3X7W8Dr0Go/uj7RIDacFvgsKsJ06oPmm1sx3okDsRfGFKffVvWHtVrbcuyWligPgU0b9N0nnwfSB+NGR0IXretcpZkXpQHVcvWrfMAwBV3djCLxU9PihwptMIsUBEbNOOipCivUpczq8Ad8c8WMp833fiHtj79nmVFrPR8UJMlSLyQ5ke1bj6ZvRw4sUpYqe2NewrtwgZ/MDTzXdRsBTzdkTrMd1SzObGtPYVW/X7st8WDv3iH/XSQU75tnZ4OqtK/7oTfwnp4Pfqstg/9eQKk+wSOhH7rkgSwq5ZI+8h/NPLnIdx/6nV+5M93tP9o4EKR3656AG/j0W+JGu9FfR+qbyOnKz7vGVd+3rNbWA2tRDfp8H8V1dsI3OBi+LJi9ultIvbsC2Zj+h8=</diagram></mxfile>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit dffc5dd

Please sign in to comment.