java concurrency_GitHub - CL0610/Java-concurrency: Java并发知识点总结

努力的意义,就是,在以后的日子里,放眼望去全是自己喜欢的人和事!

欢迎提issue和Pull request。所有的文档都是自己亲自码的,如果觉得不错,欢迎给star鼓励支持 :)

整个系列文章为Java并发专题,一是自己的兴趣,二是,这部分在实际理解上很有难度,另外在面试过程中也是经常被问到。所以在学习过程中,记录了Java并发相关的基础知识,一是自己对知识能够建立体系,同时也希望有幸能够对其他人有用。

关于Java并发专题:

(1)包含了并发的基础知识,每个标题链接到一篇具体的文章;

(2)包含了秋招面试的问题,弄懂了会让你有所收获(也祝大家都能找到心仪的工作 :) )

(3)在阅读过程中,如果有所帮助,麻烦点赞,算是对我码字的这份坚持的鼓励。

注:转载请标明原处,谢谢!

基础知识

知识点:(1)为什么要用到并发?(优点);(2)并发编程的缺点;(3)易混淆的概念

知识点:(1)如何新建线程;(2)线程状态的转换;(3)线程的基本操作;(4)守护线程Daemon;

并发理论(JMM)

知识点:(1)JMM内存结构;(2)重排序;(3)happens-before规则

并发关键字

知识点:(1)如何使用synchronized;(2)monitor机制;(3)synchronized的happens-before关系;(4)synchronized的内存语义;(5)锁优化;(6)锁升级策略

知识点:(1)实现原理;(2)happens-before的关系推导;(3)内存语义;(4)内存语义的实现

知识点:(1)如何使用;(2)final的重排序规则;(3)final实现原理;(4)final引用不能从构造函数中“溢出”(this逃逸)

知识点:(1)原子性:synchronized;(2)可见性:synchronized,volatile;(3)有序性:synchronized,volatile

Lock体系

知识点:(1)Lock和synchronized的比较;(2)AQS设计意图;(3)如何使用AQS实现自定义同步组件;(4)可重写的方法;(5)AQS提供的模板方法;

知识点:(1)AQS同步队列的数据结构;(2)独占式锁;(3)共享式锁;

知识点:(1)重入锁的实现原理;(2)公平锁的实现原理;(3)非公平锁的实现原理;(4)公平锁和非公平锁的比较

知识点:(1)如何表示读写状态;(2)WriteLock的获取和释放;(3)ReadLock的获取和释放;(4)锁降级策略;(5)生成Condition等待队列;(6)应用场景

知识点:(1)与Object的wait/notify机制相比具有的特性;(2)与Object的wait/notify相对应的方法;(3)底层数据结构;(4)await实现原理;(5)signal/signalAll实现原理;(6)await和signal/signalAll的结合使用;

知识点:(1)主要功能;(2)与synchronized阻塞唤醒相比具有的特色;

并发容器

知识点:(1)关键属性;(2)重要内部类;(3)涉及到的CAS操作;(4)构造方法;(5)put执行流程;(6)get执行流程;(7)扩容机制;(8)用于统计size的方法的执行流程;(9)1.8版本的ConcurrentHashMap与之前版本的比较

知识点:(1)实现原理;(2)COW和ReentrantReadWriteLock的区别;(3)应用场景;(4)为什么具有弱一致性;(5)COW的缺点;

知识点:(1)实现原理;(2)数据结构;(3)核心方法;(4)HOPS延迟更新的设计意图

知识点:(1)实现原理;(2)set方法原理;(3)get方法原理;(4)remove方法原理;(5)ThreadLocalMap

知识点:(1)ThreadLocal内存泄漏原理;(2)ThreadLocal的最佳实践;(3)应用场景

知识点:(1)BlockingQueue的基本操作;(2)常用的BlockingQueue;

线程池(Executor体系)

知识点:(1)为什么要用到线程池?(2)执行流程;(3)构造器各个参数的意义;(4)如何关闭线程池;(5)如何配置线程池;

知识点:(1)类结构;(2)常用方法;(3)ScheduledFutureTask;(3)DelayedWorkQueue;

知识点:(1)FutureTask的几种状态;(2)get方法;(3)cancel方法;(4)应用场景;(5)实现 Runnable接口

原子操作类

知识点:(1)实现原理;(2)原子更新基本类型;(3)原子更新数组类型;(4)原子更新引用类型;(5)原子更新字段类型

并发工具

知识点:(1)倒计时器CountDownLatch;(2)循环栅栏CyclicBarrier;(3)CountDownLatch与CyclicBarrier的比较

知识点:(1)资源访问控制Semaphore;(2)数据交换Exchanger

JAVA并发知识图谱

可移动到新窗口,放大查看效果更好或者查看原图

Java%E5%B9%B6%E5%8F%91%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1.png

要解决git下载报错的问题,你可以尝试以下步骤: 1. 首先,你可以使用git clone命令来克隆仓库。命令格式如下: git clone https://<token>@github.com/<user>/<repo>.git 2. 如果你在使用git clone命令时遇到报错,可能是因为访问权限的问题。你可以尝试使用git remote set-url命令来设置远程仓库的URL。命令格式如下: git remote set-url origin https://<token>@github.com/<user>/<repo>.git 3. 在执行上述步骤后,再次尝试使用git clone命令来克隆仓库,应该就能成功了。 总结:你可以尝试使用git clone命令和git remote set-url命令来解决git下载报错的问题。具体步骤和命令格式可以参考上述引用的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [解决报错:fatal: Authentication failed for ‘https://github.com/*/*.git/](https://blog.csdn.net/liuzehn/article/details/128037853)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [解决git下载报错:fatal: unable to access ‘https://github.com/.../.git/‘:](https://blog.csdn.net/xyaicwj/article/details/125256149)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值