JVM
-
类加载过程
-
类加载器和双亲委派机制
-
运行时数据区
-
垃圾回收算法
-
垃圾回收器
-
对象头
对象头(Header)可以分为两个部分:Mark Word(标记字段)和 Klass Pointer(类型指针)。
Mark Word(标记字段):Mark Word 是对象头中的一部分,用于存储对象的特定状态信息,比如哈希码、锁状态、GC分代年龄等。Mark Word 在实现对象的同步和并发控制时起着重要作用,包括轻量级锁、重量级锁等。它通常占据对象头的前几个字节,并且其具体结构和含义可能会因不同的 JVM 实现而有所不同。
Klass Pointer(类型指针):Klass Pointer 是指向对象所属类元数据的指针,用于确定该对象的类型信息,包括方法表、字段表等。通过 Klass Pointer,JVM 可以快速定位对象所属的类,从而进行方法调用和属性访问。
JUC
-
Synchronized
-
volatile
-
ThreadLocal
-
CAS
-
AQS
-
线程池
-
Java内存模型
集合
-
HashMap
-
HashTable
-
ConcurrentHashMap
Mysql
-
MyIsAm和InnoDB的区别
-
事务靠什么保证
-
MVCC是什么
-
MySQL有哪些索引
-
聚簇索引和非聚簇索引的区别
-
MySQL如何做慢SQL优化
-
MySQL有哪些锁
Redis
-
Redis是什么?它的主要特点是什么?
-
Redis支持哪些数据结构?
-
Redis的持久化机制有哪些?分别是怎么实现的?
-
Redis的主从复制是什么?如何配置和使用?
-
Redis的高可用方案有哪些?请详细说明。
-
Redis的缓存淘汰策略有哪些?分别适用于哪些场景?
-
Redis的事务支持是如何实现的?有哪些注意事项?
-
Redis的并发竞争问题如何解决?
-
Redis的发布订阅功能是什么?如何使用?
-
Redis如何保证数据的一致性和完整性?
-
Redis与Memcached的区别是什么?
-
Redis在内存中的数据量过大会有什么影响?如何应对?
-
Redis的使用场景有哪些?请举例说明。
-
Redis的主要优点和缺点是什么?
-
如何监控和调优Redis的性能?
-
缓存三兄弟问题