- 博客(14)
- 收藏
- 关注
原创 Java多线程-五
Object管理monitor的方法,功能比较有限,自JDK1.5后,出现了Condition,可以实现更多的功能。同时Java里的锁,最基本的实现都用到了同步队列,在JDK里这个关键的类是AbstractQueuedSynchronizer。此篇文章主要讲述Condition框架以及AbstractQueuedSynchronizer(AQS)
2020-11-27 11:14:14
205
原创 Java多线程-四
本篇主要讲述关于线程池的内容,简要介绍Executor框架的结构。重点讲述ThreadPoolExecutor,FutureTask等等。具体包括线程池的种类,工作机制,异常处理机制,等待队列,线程池的状态转换,拒绝服务策略等等。
2020-11-27 11:10:29
218
原创 Java多线程-三
Java里的多线程是通过Thread类实现的,实现线程同步的方法有很多种,比如synchronized,CAS + volatile,Object类自带的wait和notify等。那么synchronized的原理又是什么,JDK1.5后新出的Lock框架又能实现哪些功能,线程同步的核心是锁,那么锁有哪些分类,不同的锁有哪些特点。无锁的CAS如何实现线程同步?这些是这一篇的内容。
2020-11-27 11:04:26
227
原创 Java多线程-二
这一篇主要介绍了volatile关键字的基本用法,使用场景等等。在讲述volatile之前,还得补充一些预备知识,比如Java内存模型,并发编程中常见的问题。这些应该如何解决,volatile会解决哪些问题,如何解决等等。
2020-11-27 10:58:08
204
原创 ConcurrentHashMap源码阅读
ConcurrentHashMap是HashMap的多线程版本,经常用到,JDK里的实现方式也非常的精妙,值得学习。JDK1.7和1.8的实现方式并不相同,所以这里两个版本都要学习,体会个中的精妙之处。
2020-11-26 03:34:43
373
原创 HashMap源码阅读
在准备面试的过程中,发现HashMap源码是很常见的考点,于是进行了仔细的学习。具体内容包括,HashMap的构造方法,put,get方法,以及put&get所需要的hash方法,还有扩容时所需要的resize方法。
2020-11-26 03:11:48
461
原创 ArrayList源码阅读
ArrayList是十分常用的集合类,很好用而且也不难用。这篇文章主要是对ArrayList的源码进行阅读,了解它常用方法的设计,做到不仅要会用,还要懂得为何要这样用。虽然ArrayList每一个Java程序员都会使用,但了解一下它的源码实现也是非常有必要的!
2020-11-25 22:38:24
102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人