![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
多线程考点
文章平均质量分 97
包含多线程的基本知识和JUC工具类
clonechen2021
这个作者很懒,什么都没留下…
展开
-
面试中经常手撕的多线程代码
看了好多的面经,手撕代码中除了算法题最常出现多线程的问题了,以下几个问题是总结了下出现比较多的,做一下记录,方便多看看写一个生产者消费者模式写一个单例模式写一个必然死锁的情况写一个银行转账场景写一个两个线程交替打印0-100奇偶数写一个哲学家就餐问题文章目录两个线程交替打印0-100奇偶数单例模式必然死锁生产者消费者模式银行转账死锁哲学家就餐问题两个线程交替打印0-100奇偶数...原创 2020-04-03 13:43:45 · 1581 阅读 · 0 评论 -
一文搞懂Java并发容器相关面试题
ConcurrentHashMap是面试的必考点,只是简单的知道是线程安全的是完全不够的,所以,让我们一起从面试问题和源码来认识下ConcurrentHashMap吧文章目录为什么需要ConcurrentHashMap?ConcurrentHashMap 和 HashMap 两者的异同concurrentHashMap的常见问题ConcurrentHashMap的构造方法有哪些Concurren...原创 2020-03-28 17:00:16 · 1031 阅读 · 0 评论 -
什么是CAS?
什么是CAS一种思想,一种算法,用在并发的场景下我认为内存值V应该是A,如果是的话我就把它改成B,如果不是A说没就被别人改过了,那我就不修改了,避免多人修改导致出错CAS有三个操作数:内存值V,预期值A,修改值B,并且仅当预期值A和内存值V相同时,才将内存值修改为B,否则什么都不做,最后返回现在的V值演示CAS核心原理通过代码模拟CAS的操作/** * 描述: 模拟CAS...原创 2020-03-13 22:01:15 · 953 阅读 · 0 评论 -
Java并发不得不说的“锁”事
快速到达看这里->Lock接口简介为什么需要Lock方法介绍可见性保证锁的分类乐观锁和悲观锁为什么会诞生非互斥同步锁(乐观锁)什么是乐观锁和悲观锁典型例子开销对比使用场景可重入锁和非可重入锁公平锁和非公平锁什么是公平和非公平为什么要有非公平锁公平的情况(以ReentrantLock 为例)不公平的情况(以ReentrantLock 为例)特例对比非公平和公平的优缺点共享锁和排它锁什么是共享锁...原创 2020-03-11 22:56:54 · 2975 阅读 · 2 评论 -
关于线程池你知道多少?
快速到达看这里-->线程池的好处线程池适用场合线程池的创建线程池的构造函数的参数添加线程规则增减线程的特点线程池应该手动创建还是自动创建几种常见线程池如何正确停止一个线程池任务太多,怎么拒绝拒绝时机拒绝策略线程池的好处加快响应速度合理利用CPU和内存统一管理资源线程池适用场合服务器接收大量请求时,使用线程池可以大大减少线程的创建和销毁的次数,提高服务器的工作效率开发中,如...原创 2020-03-15 17:20:52 · 702 阅读 · 0 评论 -
Java面试-ThreadLocal你知道多少?
ThreadLocal典型应用场景场景1:每个线程需要一个独享的对象通常应用在线程不安全的工具类,如SimpleDateFormat,Random每个Thread内有自己的实例副本,不共享比喻:课本只有一本,一群人同时做笔记会发生冲突有线程安全问题。把课本复印成一人一本就没问题了案例内容:编写一个函数,计算1970年1.1 08:00:00 GMT后 seconds 秒后的时间,...原创 2020-03-10 21:46:49 · 1152 阅读 · 0 评论 -
彻底搞懂死锁的前世今生
关于死锁,你知道多少?本文就什么是死锁?怎么找到死锁?怎么解决死锁?怎么避免死锁等问题展开分析,通过大量的代码和案例演示向大家描述死锁的前世今生。快速到达看这里死锁是什么,有什么危害?写一个死锁的例子案例一:必然发生死锁案例二:两个账户转账案例三:多人多次转账发生死锁必须满足哪些条件如何定位死锁有哪些解决死锁问题的策略?线上发生死锁怎么办常见修复策略哲学家就餐问题问题描述代码演示多种解决方案改...原创 2020-04-27 14:39:32 · 4331 阅读 · 1 评论 -
JVM内存结构和Java内存模型别再傻傻分不清了
JVM内存结构和Java内存模型都是面试的热点问题,名字看感觉都差不多,网上有些博客也都把这两个概念混着用,实际上他们之间差别还是挺大的。通俗点说,JVM内存结构是与JVM的内部存储结构相关,而Java内存模型是与多线程编程相关,本文针对这两个总是被混用的概念展开讲解。文章目录JVM内存结构JVM构成JVM内存结构程序计数器虚拟机栈本地方法栈堆方法区GC垃圾回收机制1. 垃圾判别方法引用计数算法可达性分析算法2. 垃圾回收算法标记清除法标记整理法复制算法3. 分代垃圾回收机制4. 垃圾回收器5. 四种引原创 2020-05-23 16:55:16 · 53953 阅读 · 0 评论