- JVM、JRE、JDK有什么联系与区别?
- 简述 Synchronized Volatile 可重入锁的不同使用场景及优缺点
- synchronized 关键字底层是如何实现的,它与 Lock 相比优缺点分别是什么
- Synchronized 的几种用法
- AQS实现原理-待续
- volatile 关键字解决了什么问题,它的实现原理是什么?
- Java 中 sleep() 与 wait() 的区别
- hashCode() 和 equals() 的关系
- Java 中接口和抽象类的区别
- String,StringBuffer,StringBuilder 之间有什么区别
- HashMap 与 ConcurrentHashMap 的实现原理
- ConcurrentHashMap原理 - JDK1.7
- ConcurrentHashMap 的实现原理
- String 类能不能被继承?和它的不变性
- Java 中 ArrayBlockingQueue 与 LinkedBlockingQueue的使用场景和区别
- ArrayDeque 和 LinkedList 的区别
- 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度
- Java 如何高效进行数组拷贝
- 简述 CAS 原理,什么是 ABA 问题,怎么解决?
- Java 是如何实现线程安全的,哪些数据结构是线程安全的?
- 简述 HashSet 实现原理
- SynchronousQueue和LinkedTransferQueue区别
- JVM 中内存模型是怎样的,简述新生代与老年代的区别?
- Java内存模型JMM
- Java 中垃圾回收机制中如何判断对象需要回收和常见的 GC 回收算法有哪些
- JVM 是怎么去调优的?简述过程和调优的结果
- 简述 GC 引用链
- 简述G1收集器原理
- Java 类的加载流程是怎样的?什么是双亲委派机制?
- 简述 Java 的反射机制及其应用场景
- 线程池是如何实现的?简述线程池的任务策略
- Java 的线程有哪些状态,转换关系是怎么样的?
- Java 线程间有多少通信方式?
- 什么是重写和重载?
- ThreadLocal 实现原理是什么
- 实现单例设计模式
- 手写生产者消费者模型
- 简述装饰者模式以及适配器模式
- 简述 BIO, NIO, AIO 的区别
- 简述 Java 内置排序算法的实现原理
- error 和 exception 的区别是什么
- Java里的阻塞队列都有哪几种,有什么区别?
- 设计一个阻塞队列
- 简述 Spring bean 的生命周期
- Spring MVC 的原理和流程
- 简述 Spring AOP 的原理
- Spring 内建的 Bean 作用域有哪些?
- 线程池是如何实现的?简述线程池的任务策略
- 简述伪共享
- 简述原子操作的原理
- 从输入 URL 到展现页面的全过程
- DNS 查询服务器的基本流程是什么?DNS 劫持是什么?
- HTTP 中 GET 和 POST 区别
- 详细解析 HTTP 与 HTTPS 的区别
- Cookie 和 Session 的关系和区别是什么?
- 什么是 TCP 粘包和拆包?
- TCP 中常见的拥塞控制算法有哪些?
- HTTP调用 VS RPC调用
- Redis 基础
- Redis数据结构
- Redis数据类型与数据结构
- Redis多路复用机制
- Redis的原子性
- Redis 主从同步的原理
- 基于Redis实现消息队列
- mysql和redis的数据一致性
- 数据库的事务隔离级别有哪些?各有哪些优缺点?
- Mysql 索引原理和类型
- 数据库设计三大范式
- MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么?
- SELECT COUNT(*)
- 联合索引的存储结构是什么?
- 简述什么是最左匹配原则
- SQL优化的方案有哪些,如何定位问题并解决问题?
- 数据库查询中左外连接和内连接的区别是什么?
- 数据库的读写分离的作用是什么?如何实现?
- 简述 undo log, redo log和binlog的作用和区别
- MVCC原理
- MinorGC 和 Full GC
- 索引覆盖
- MySQL Explain字段详解
- 简述数据库中什么情况下进行分库,什么情况下进行分表?
- 简述脏读和幻读的发生场景,InnoDB 是如何解决幻读的?
- 什么情况下会发生死锁,如何解决死锁?