1.题目概述

java面试题1.png

java面试题2.png

2.JMM理解

01-JMM理解01.png01-JMM理解02.png01-JMM理解03-volatile可见性代码验证.png01-JMM理解04-原子性解释说明01.png01-JMM理解05-原子性代码演示.png01-JMM理解06-解释不原子性的原因.png01-JMM理解07-解决原子性操作的方法.png01-JMM理解08-指令重排序解释01.png01-JMM理解09-指令重排序代码.png01-JMM理解09-指令重排序总结01.png01-JMM理解10-指令重排序总结02.png01-JMM理解11-线程安全使用保证.png01-JMM理解12-单例模式下的双重检锁机制.png01-JMM理解13-单例模式下的双重检锁机制出现的线程安全问题.png01-JMM理解14-单例模式下的双重检锁机制代码演示.png

3. CAS

02-CAS导致的ABA问题01.png02-CAS导致ABA问题引出的原子引用代码.png02-CAS导致ABD问题代码掩饰.png02-CAS缺点01.png02-CAS缺点02.png02-CAS是什么.png02-CAS原理01.png02-CAS原理02.png02-CAS原理03.png02-CAS原理04.png02-CAS原理05.png02-CAS原理总结06.png

4.集合类

03-集合类01-ArrayList线程不安全代码.png03-集合类02-写时复制概念说明.png03-集合类03-ArrayList异常解释说明.png03-集合类04-HashSet线程不安全解释.png

5.Java锁

04-值传递代码演示.png04-Java锁01-公平锁非公平锁是什么.png04-Java锁02-公平锁非公平锁区别.png04-Java锁03-公平锁非公平锁01.png04-Java锁03-可重入锁概念01.png04-Java锁04-可重入锁代码实现.png04-Java锁05-可重入锁代码Rentlock实现.png04-Java锁06-自旋锁概念.png04-Java锁07-自旋锁代码实现.png04-Java锁08-自旋锁代码实现02.png04-Java锁09-独占锁概念.png04-Java锁10-读写锁理论知识讲解.png04-Java锁11-读写锁代码01.png04-Java锁12-读写锁代码02.png

6.线程

05-线程01-CountDownLatch代码01.png05-线程02-CountDownLatch代码02.png05-线程03-CountDownLatch代码03.png05-线程04-CountDownLatch总结.png05-线程05-CyclicBarrier01.png05-线程05-CyclicBarrier02.png05-线程06-Semaphore01.png

7.阻塞队列

06-阻塞队列01-阻塞队列概念.png06-阻塞队列02-阻塞队列好处.png06-阻塞队列03-阻塞队列构架说明01.png06-阻塞队列04-阻塞队列使用01.png06-阻塞队列05-阻塞队列BlockingQueue.png06-阻塞队列06-阻塞队列SynchronsousQueue.png06-阻塞队列07-阻塞队列SynchronsousQueue01.png06-阻塞队列08-阻塞队列SynchronsousQueue02.png06-阻塞队列09-线程通信的应用.png06-阻塞队列10-线程通信的应用.png06-阻塞队列11-线程通信的应用.png06-阻塞队列12-线程通信的应用.png

8.Synchronize和lock的区别

07-Synchronize和lock的区别01.png07-Synchronize和lock的区别02.png07-Synchronize和lock的区别03-绑定多个条件锁Condition.png

9.线程通信

08-线程通信01-生产者和消费者阻塞队列.png08-线程通信02-生产者和消费者阻塞队列.png08-线程通信03-生产者和消费者阻塞队列.png

10.Callable介绍

09-Callable介绍01.png09-Callable介绍02.png09-Callable介绍03.png

11.线程池

10-线程池01-优势.png10-线程池02-框架.png10-线程池03-线程池分类.png10-线程池04-newFixThreadPool.png10-线程池05-newSingleThreadExecutor.png10-线程池06-newCachedThreadPool.png10-线程池07-7个参数讲解.png10-线程池08-7个参数讲解01.png10-线程池09-拒绝策略选择.png10-线程池10-拒绝策略选择代码.png10-线程池11-线程池资源设置maxcoresize的大小选择.png10-线程池12-线程池资源设置maxcoresize的大小选择.png

12.死锁编码

11-死锁编码01.png11-死锁编码02.png11-死锁编码03.png11-死锁编码04.png

13.JVM

12-JVM01-JVM体系结构概览.png12-JVM02-Java8的JVM.png12-JVM03-GC作用域.png12-JVM04-jvm引用计数.png12-JVM05-jvm复制.png12-JVM06-jvm标记清除.png12-JVM07-jvm标记整理家.png12-JVM08-垃圾回收算法-可达性分析法.png12-JVM09-垃圾回收算法-可达性分析法case.png12-JVM10-垃圾回收算法-可以作为GCRoots.png12-JVM11-垃圾回收算法-可以作为GCRoots代码演示.png12-JVM12-JVM参数类型-标配参数.png12-JVM13-JVM参数类型-X参数_了解.png12-JVM14-JVM参数类型-XX参数.png12-JVM15-JVM参数类型-XX参数case.png
12-JVM16-JVM参数类型-XX参数case1.png112-JVM17-JVM参数类型-XX参数case2.png12-JVM18-JVM参数类型-XX参数case3.png12-JVM19-JVM默认参数01.png12-JVM20-JVM默认参数01.png12-JVM21-JVM常用参数.png12-JVM22-JVM常用参数01.png12-JVM23-元空间大小.png12-JVM24-参数案例设置.png12-JVM25-SurvivorRatio参数设置.png12-JVM26-NewRation参数设置.png

14.引用

13-引用01-构架图.png13-引用02-强引用概念.png13-引用03-强引用代码演示.png13-引用04-软引用概念.png13-引用05-软引用代码01.png13-引用05-软引用代码02.png13-引用06-弱引用概念.png13-引用07-弱引用代码01.png13-引用08-软引用和弱引用使用场景介绍.png13-引用09-WeakHashMap的使用.png13-引用10-WeakHashMap的代码.png13-引用11-虚引用的概念.png13-引用12-引用队列概念.png13-引用13-引用队列的使用代码演示.png13-引用14-虚引用代码.png13-引用15-虚引用总结.png13-引用16-虚引用总结.png

15.OOM

14-OOM01-错误列表.png14-OOM02-StackOverFlowError_代码.png14-OOM03-JavaHeapSpaceError_代码.png14-OOM04-GCOverHeadLimitExceeded_代码.png14-OOM04-GCOverHeadLimitExceeded_概念.png14-OOM05-DirectBufferMemory_代码演示.png14-OOM05-DirectBufferMemory_概念.png14-OOM06-UnableToCreateNewThread_概念.png14-OOM07-UnableToCreateNewThread_代码演示.png14-OOM08-MetaSpace错误演示.png14-OOM09-MetaSpace代码演示.png14-OOM09-MetaSpace概念.png

16.垃圾收集器

15-垃圾收集器-垃圾收集器与垃圾收集算法关系.png15-垃圾收集器02-垃圾收集器分类.png15-垃圾收集器03-串行垃圾回收器.png15-垃圾收集器04-并行垃圾回收器.png15-垃圾收集器05-并发垃圾回收器.png15-垃圾收集器06-3个小总结.png15-垃圾收集器07-查看默认的垃圾收集器.png15-垃圾收集器08-默认的垃圾收集器有哪些.png15-垃圾收集器09-7大垃圾收集器概述.png15-垃圾收集器10-7大垃圾收集器概述1.png15-垃圾收集器11-Server:Client模式分别是什么意思.png15-垃圾收集器12-串行垃圾收集器概念.png15-垃圾收集器13-ParNew收集器.png15-垃圾收集器14-ParallelGC收集器.png15-垃圾收集器15-ParallelGC收集器01.png15-垃圾收集器16-ParallelGC收集器02.png15-垃圾收集器17-ParallelOldGC收集器.png15-垃圾收集器18-CMSGC收集器.png15-垃圾收集器19-CMSGC收集器01.png15-垃圾收集器20-CMSGC收集器02.png15-垃圾收集器21-CMSGC收集器03.png15-垃圾收集器22-CMSGC收集器04.png15-垃圾收集器23-SerialOld收集器.png15-垃圾收集器24-如何选择垃圾收集器01.png15-垃圾收集器25-如何选择垃圾收集器02.png15-垃圾收集器26-G1收集器01.png15-垃圾收集器27-G1收集器02.png15-垃圾收集器28-G1收集器03.png15-垃圾收集器28-G1收集器04.png15-垃圾收集器29-G1收集器05.png15-垃圾收集器30-G1收集器06.png15-垃圾收集器31-G1收集器07.png15-垃圾收集器32-G1收集器08.png15-垃圾收集器33-G1收集器09.png

17.CPU过高分析步骤

16-CPU占用过高定位问题步骤.png16-CPU占用过高定位问题步骤02.png

18.github使用方法

17-github-常用语.png17-github02-in关键词使用.png17-github03-star和fork关键词使用.png17-github04-star和fork关键词使用.png17-github05-awesome关键词使用.png17-github06-代码高亮显示.png17-github07-项目内代码搜索.png17-github08-查找项目经验.png