Java知识点整理
2022-08-26 17:38:04 0 举报
AI智能生成
Java知识点整理,收集,学习用
作者其他创作
大纲/内容
算法数据结构
快排、TOPK
二叉树
链表
队列,栈
动态规划
Hash分桶
其他
语言
1.8 变化
类
String
intern():常量池存在,取,不存在,放
AtomicXX
利用CPU的CAS指令
集合类
HashMap
1.8优化,链表长度大于8变为红黑树
Hash冲突
ConcurrentHashMap
segment+hashtable
Arrayblockingqueue和LinkedBlockingQueue
一个锁,两个锁
AbstractQueuedSynchronizer
ReentrantLock
CountDownLatch
线程
状态
线程池
Executors
newCachedThreadPool
newFixedThreadPool
newSingleThreadExecutor
newScheduleThreadPool
自定义ThreadPoolExecutor
corePoolSize:核心池的大小
maximumPoolSize
keepAliveTime:
unit:参数keepAliveTime的时间单位,有7种取值
workQueue:一个阻塞队列,用来存储等待执行的任务
handler:表示当拒绝处理任务时的策略
ThreadPoolExecutor.AbortPolicy;//丢弃任务并抛出RejectedExecutionException异常。
ThreadPoolExecutor.DiscardPolicy;//也是丢弃任务,但是不抛出异常。
ThreadPoolExecutor.DiscardOldestPolicy;//丢弃队列最前面的任务,然后重新尝试执行任务(重复此过程)
ThreadPoolExecutor.CallerRunsPolicy;//由调用线程处理该任务
同步
volatile
内存屏障,hb关系,防止重排序
内存可见性
synchronized
非公平锁
可重入锁
锁升级
偏向锁,只执行一次CAS,下次同一线程访问同步区则偏向该线程,无需再执行CAS操作。 单次CAS
轻量级锁(自旋锁)线程每次进入同步区之前,都会执行CAS,若失败则膨胀为重量级锁。 每次CAS
重量级锁,线程每次进入同步区之前,都会执行CAS,若失败则阻塞。 每次CAS+阻塞
ReentrantLock
可以指定是公平锁还是非公平锁
Condition(条件)类,用来实现分组唤醒需要唤醒的线程们,而不是像synchronized要么随机唤醒一个线程要么唤醒全部线程
提供了一种能够中断等待锁的线程的机制,通过lock.lockInterruptibly()来实现这个机制。
JVM
结构
程序计数器
JAVA栈
本地方法栈
方法区
运行时常量池(1.7后在java堆)
类信息、常量、静态变量、即时编译器编译后的代码
Java堆
Young 1:2
Eden 8:1:1
Survivor0,1
Old
GC
Minor GC:
Major GC / Full GC:
收集器
Serial串行
ParNew收集器
Parallel收集器
Parallel Old 收集器
CMSGC
G1GC
ClassLoader
网络
TCP/IP
HTTP
NIO
中间件
缓存
Redis
持久化
AOF
RDB
单线程
Cas
分区,分片存储
Memcached
GuavaCache
消息队列
Kafka
RabbitMq
分布式
CAP定律:
一致性(consistency)
可用性(Availability)
分区容错(partition-tolerance)
dubbo
Thrift
zookeeper
大数据
Hive
Storm
ack原理
bolt并发度
架构/设计
设计模式
单例
懒汉
饿汉
工厂
模板
代理
动态代理
CGlib-继承
JDK-接口实现
静态代理
调优
代码规范
SSM
SpringMVC
Spring
事务
SpringBoot
Mybatis
数据库
MySQL
存储引擎
InnoDB
索引
聚簇索引
非聚簇索引
最左生效原理
explain 字段含义
锁
事务特性ACID
原子性 Atomicity
一致性 Consistency
隔离性 Isolation
持久性 Durability
隔离级别
Serializable (串行化):可避免脏读、不可重复读、幻读的发生
Repeatable read (可重复读):可避免脏读、不可重复读的发生--默认
Read committed (读已提交):可避免脏读的发生。
Read uncommitted (读未提交):最低级别,任何情况都无法保证。
数据库连接池
Binlog同步
分库分表
Atlas
Zebra
其他素质
沟通
工作状态
工作难点
0 条评论
下一页