Java知识图谱
2021-09-21 16:14:14 0 举报
AI智能生成
Java学习整理
作者其他创作
大纲/内容
Redis
数据类型
setnx:可作为分布式锁
Sentinel:高可用保证
Redis集群
Redis小工具
scan:海量数据查询
Redis持久化
缓存设计
缓存穿透:不存在的key
布隆过滤器
缓存雪崩:缓存不可用
缓存击穿:key过期&突发流量
节点复制
设计模式
策略模式
装饰器模式
观察者模式
适配器模式
单例模式
工厂方法模式
模板方法模式
外观模式
责任链模式
代理模式
静态代理
动态代理
jdk动态代理
CGLIB动态代理
NIO与Netty
Netty组件介绍
同步、异步、阻塞、非阻塞
集合与多线程
Iterator和Iterable
ListIterator
LinkedList
LinkedHashMap
SimpleDateFormat线程不安全问题
Thread
线程的生命周期(5个阶段)
run和start的区别
守护线程
sleep和wait的区别
yield方法
interrupt方法
join方法
线程三大特性
原子性
可见性
有序性
ThreadLocal
ThreadGroup
线程池
Executor
ExecutorService
AbstractExecutorService
ThreadPoolExecutor
线程池五种状态
线程池类型
newFixedThreadPool
newSingleThreadExecutor
newCachedThreadPool
shutdown
shutdownNow
ScheduledThreadPoolExecutor
ScheduledFutureTask
只执行一次(period=0)
fixed-delay(period<0)
fixed-rate(period>0)
DelayedWorkQueue
线程池状态
线程池参数
synchronized
无锁
偏向锁
轻量级锁
重量级锁
Lock
lock()
tryLock()
tryLock(long time, TimeUnit unit)
lockInterruptibly()
ReentrantLock
ReentrantReadWriteLock
公平锁与非公平锁
Object.wait¬ify
Hook线程
volatile
JUC工具类
CountDownLatch
与Thread.join()区别
CycliBarrier
Semaphore
AtomicInteger
AtomicReference和AtomicStampedReference
AtomicIntegerFieldUpdater
AtomicBoolean
BlockingQueue
ArrayBlockingQueue
ReentrantLock lock
Condition notEmpty¬Full
LinkedBlockingQueue
ReentrantLock takeLock&putLock
Condition notEmpty¬Full
PriorityBlockingQueue
comparator
DelayQueue
LongAdder
LongAccumulator
伪共享
Future和Callable
FutureTask
LockSupport
Condition
ThreadLocalRandom
StampedLock
乐观锁:读的时候允许写入
悲观锁:读的时候不允许写入
悲观锁与乐观锁
自旋锁
算法
布隆过滤器
排序算法
快速排序
分治法 O(nlogn)
冒泡排序
优化一
优化二
O(N²)
插入排序
O(N²)
选择排序
O(N²)
归并排序
分治法 O(nlogn)
图解
计数排序
基数排序
堆排序
桶排序
希尔排序
基于插入排序
基于分组
动态规划
三步问题
树
首个共同祖先
后继者
合法二叉搜索树
特定深度节点链表
最小高度树
图
节点间通路
栈
栈排序
化栈为队
堆盘子
栈的最小值
JVM
内存模型
程序计数器
虚拟机栈
局部变量表
GC Root
操作数栈
帧数据区
栈上分配
逃逸分析
本地方法栈
堆
新生代
eden
suvivor
from
to
老年代
方法区
运行时常量区:String.intern()
永久区
元数据区(堆外)
直接内存
JIT即时编译器
热点代码
C1、C2编译器
编译优化
类文件结构
字节码(.class),机器码(二进制)
魔数、常量池...
类的加载过程
加载
连接(验证、准备、解析)
初始化
ClassLoader
BootStrapClassLoader
ExtClassLoader
AppClassLoader
双亲委派机制
JVM参数
GC
GC算法
引用对象算法、可达性分析算法
标记清除算法
复制算法
分配担保
标记整理算法
分代收集算法
垃圾收集器
串行回收器(Serial)
并行回收器
新生代ParNew回收器:串行回收器的多线程版本
新生代ParallelGC回收器:注重吞吐量
老年代ParallelOldGC回收器:注重吞吐量
CMS回收器
初始标记、并发标记、预清理、重新标记、并发清除
仅限于老年代,使用标记清除法
G1回收器
Mixed GC
Region
G1和CMS收集器优缺点比较
Kafka
基本概念
主题
分区
多副本机制
生产者
消费者
消费者组
消费指定分区
消费位移
如何保证消息有序性
如何保证消息不丢失
Spring
装配Bean
BeanPostProcessor
Spring容器:BeanFactory和ApplicationContext
MySQL
事务
事务隔离级别
读未提交
读提交
可重复读
串行化
Java基础
四种引用类型
强引用
软引用
弱引用
WeakHashMap
ThreadLocalMap
虚引用
Java自定义注解(切面实现)
HashMap:非线程安全
StringBuffer:线程安全
StringBuilder:非线程安全
HashSet
Hashtable
ConcurrentHashMap
ArrayList
雪花算法
TreeMap
IntegerCache
Unsafe
DirectByteBuffer
CAS
LockSupport.park&unpark
serialVersionUID
分布式
2PC
阶段一:投票阶段
阶段二:执行阶段
3PC
阶段一:CanCommit
阶段二:PreCommit
阶段三: doCommit
TCC
Try
Confirm
Cancel
Saga
子事务、补偿
分布式Session
0 条评论
下一页