Java知识点
2021-03-01 14:40:10 16 举报
AI智能生成
java 面试知识点,觉得不错给个赞吧
作者其他创作
大纲/内容
计算机网络
层
OSI七层协议
TCP/IP四层协议
五层协议
三次握手
为什么要三次握手
四次挥手
MySQL
数据库引擎
MyISAM
InnoDB
索引
优化
最左前缀匹配
避免冗余索引
事务
ACID
原子性
一致性
隔离性
持久性
问题
脏读
丢失修改
不可重复读
幻读
事务隔离级别
读未提交(READ-UNCOMMITTED)
读已提交(READ-COMMITED)
可重复度(REPEATEABLE-READ)
可串行化(SERIALIZABLE)
锁
Record lock
Gap lock
Next-key lock
大表优化
限定数据范围
读写分离
垂直分区
优点
缺点
水平分区
数据库连接池
Netty
I/O
BIO
NIO
AIO
核心组件
Bytebuf(字节容器)
Bootstrap(客户端启动类)和ServerBootstrap(服务端启动类)
Channel(网络操作抽象类)
EventLoop(事件循环)
JVM
数据区
线程共享
方法区
直接内存
堆
新生代
S0,S1
老年代
永久代
线程私有
Java虚拟机栈
局部变量表
操作数栈
动态链接
方法出口
为什么私有?
本地方法栈
为什么私有
程序计数器
为什么私有
GC
算法
可达性分析
过程
STW
并发
进程
线程
NEW
初始状态,线程被构建,但还没有调用start()方法
RUNNABLE
READY
RUNNING
BLOCKED
阻塞状态,表示线程阻塞于锁
WAITING
等待状态,表示线程进入等待状态,进入该状态表示当前线程需要等待其他线程做一些特定的动作(通知或中断)
TIME_WAITING
超时等待状态,可以在指定的时间自行返回
TERMAINATED
终止状态,表示当前线程已经执行完毕
锁
公平锁
非公平锁
可重入锁
不可重入锁
自旋锁
volatile
new对象经过三个步骤
1. 为对象分配内存地址
2. 初始化对象
3. 将对象指向分配的内存地址
synchronized
修饰实例方法
对象锁
修饰静态方法
当前class上锁
修饰代码块
synchronized(this|object) 表示进入同步代码块前要获取对象的锁
synchronized(类.class)表示进入同步代码块前要获取类的锁
AQS
ReentrantLock(可重入锁)
并发
ThreadLocal
ThreadMap
内存泄露问题
线程池
ThreadPoolExecutor
饱和策略
AbortPolicy
CallerRunsPolicy
DiscardPolicy
DiscardOldestPolicy
公式
CPU密集型(N+1)
IO密集型(2N)
动态线程池
setCorePoolSize(int)
setMaximumPoolSize(int)
setMaximumPoolSize(int)
0 条评论
下一页
为你推荐
查看更多