文章目录
缓存
memcache的分布式原理
memcache的内存分配机制
如何存放数据到memcached缓存中?(memcache内存分配机制)
memcache的惰性失效机制
memcache缓存的无底洞现象
一致性Hash算法的实现原理
Hash环
一致性Hash算法
Hash环的倾斜
虚拟节点解决Hash环倾斜
hash算法平衡性
memcached与redis的区别
Redis的主从复制
Redis的部分复制过程
Redis的主从复制阻塞模式
Redis的数据持久化方式
Redis的高可用部署方式
哨兵模式
Redis哨兵主要功能
Redis哨兵的高可用
哨兵如何判断redis主从节点是否正常?
集群模式
Redis可以在线扩容吗?zk呢
Redis高并发和快速的原因
浏览器本地缓存的了解和使用
缓存雪崩
缓存穿透
HashMap
HashMap的Hash碰撞
HashMap的get和put原理
HashMap的rehash
HashMap的线程不安全问题
HashMap和Hashtable的区别
为什么collection没有实现clonable接口
为什map没有实现collection接口
Map接口的实现有哪些,区别是什么
线程池
Executors框架的四种线程池及拒绝策略
四种线程池
JDK拒绝策略
Reactor模式
Reactor单线程模型
Reactor多线程模型
主从Reactor模型
JVM
Object的内存布局
方法区卸载Class的条件
可以作为GC Roots的对象包括哪些
JVM运行时内存模型
Netty的ByteBuffer的引用计数器机制
判断对象是否存活的两种方法
Java对象的初始化过程
类加载双亲委派模型
从上到下分三个类加载器:
双亲委派模型:
Zookeeper
Zookeeper的常用应用场景有哪些
Zookeeper的分布式数据一致性算法
Zk启动过程的Leader选举分析及数据同步
Zookeeper数据同步的简单描述
ZK集群最少需要几台机器?
Zookeeper和Eureka的区别
Mysql
InnoDB和MyISAM存储引擎的区别
Btree索引和Hash索引的区别
数据库的ACID特性
Mysql数据库的隔离级别
Select For Update使用场景
分布式事务模型之XA和TCC的区别和联系?
XA-DTP模型
TCC模型
Mysql-binlog日志复制方式
mysql主从复制原理
基于日志点的复制和GTID的复制有何区别?
Mysql性能诊断和优化
聚簇索引和非聚簇索引的区别
消息队列
消费者宕机:怎么保证消息队列消息不丢失?
MQ集群宕机:怎么保证消息不丢失?
Spring源码系列
springmvc如何解决循环依赖的问题
spring事务的传播行为和隔离级别
spring事务七个事务传播行为
Spring事务的五种隔离级别
设计模式
单例模式
策略模式
JDK源码
ThreadLocal的实现原理
AQS实现公平锁和非公平锁
RPC
RPC的序列化方式有哪些
服务熔断与服务降级概念
服务熔断:
服务降级:
其他整理
ThreadLocalMap的线性探测法、HashMap的拉链法。两种解决hash碰撞的方式有何不同?
Netty的RPC如何实现
Netty中源码inbound和outbound有啥区别?
怎么分库分表可以做到多维度查找
Fork/Join框架
JAVA线程执行中怎么kill掉
HA主备怎么预防脑裂
性别字段是否需要加索引
Https的SSL握手过程
select和epoll的区别
Epoll导致的selector空轮询
正排索引和倒排索引
正排索引
倒排索引
可以说这一篇(宝典)说实话,熟知本文80%以上内容,找个开发工作问题不大。对3-5年经验的朋友,也是快速温习的利器。
学习更多JAVA知识与技巧,关注与私信博主(666)
最后给大家分享Spring系列的学习笔记和面试题,包含spring面试题、spring cloud面试题、spring boot面试题、spring教程笔记、spring boot教程笔记、
最新阿里巴巴开发手册(63页PDF总结)、2022年Java面试手册。一共整理了1184页PDF文档。私信博主(666)领取,祝大家更上一层楼!!!