📈性能与调优
性能优化实战与源码剖析
性能优化实战
- 00-开篇词 Java 性能优化,是进阶高级架构师的炼金石
- 01-理论分析:性能优化,有哪些衡量指标?需要注意什么?
- 02-理论分析:性能优化有章可循,谈谈常用的切入点
- 03-深入剖析:哪些资源,容易成为瓶颈?
- 04-工具实践:如何获取代码性能数据?
- 05-工具实践:基准测试 JMH,精确测量方法性能
- 06-案例分析:缓冲区如何让代码加速
- 07-案例分析:无处不在的缓存,高并发系统的法宝
- 08-案例分析:Redis 如何助力秒杀业务
- 09-案例分析:池化对象的应用场景
- 10-案例分析:大对象复用的目标和注意点
- 11-案例分析:如何用设计模式优化性能
- 12-案例分析:并行计算让代码“飞”起来
- 13-案例分析:多线程锁的优化
- 14-案例分析:乐观锁和无锁
- 15-案例分析:从 BIO 到 NIO,再到 AIO
- 16-案例分析:常见 Java 代码优化法则
- 17-高级进阶:JVM 如何完成垃圾回收?
- 18-高级进阶:JIT 如何影响 JVM 的性能?
- 19-高级进阶:JVM 常见优化参数
- 20-SpringBoot 服务性能优化
- 21-性能优化的过程方法与求职面经总结
源码剖析
- 00-开篇词:大厂技术面试“潜规则”
- 01-String 的特点是什么?它有哪些重要的方法?
- 02-HashMap 底层实现原理是什么?JDK8 做了哪些优化?
- 03-线程的状态有哪些?它是如何工作的?
- 04-详解 ThreadPoolExecutor 的参数含义及源码执行流程?
- 05-synchronized 和 ReentrantLock 的实现原理是什么?它们有什么区别?
- 06-谈谈你对锁的理解?如何手动模拟一个死锁?
- 07-深克隆和浅克隆有什么区别?它的实现方式有哪些?
- 08-动态代理是如何实现的?JDK Proxy 和 CGLib 有什么区别?
- 09-如何实现本地缓存和分布式缓存?
- 10-如何手写一个消息队列和延迟消息队列?
- 11-底层源码分析 Spring 的核心功能和执行流程?
- 12-MyBatis 使用了哪些设计模式?在源码中是如何体现的?
- 13-SpringBoot 有哪些优点?它和 Spring 有什么区别?
- 14-MQ 有什么作用?你都用过哪些 MQ 中间件?
- 15-MySQL 的运行机制是什么?它有哪些引擎?
- 16-MySQL 的优化方案有哪些?
- 17-关系型数据和文档型数据库有什么区别?
- 18-Redis 的过期策略和内存淘汰机制有什么区别?
- 19-Redis 怎样实现的分布式锁?
- 20-Redis 中如何实现的消息队列?实现的方式有几种?
- 21-Redis 是如何实现高可用的?
- 22-说一下 JVM 的内存布局和运行原理?
- 23-垃圾回收算法有哪些?
- 24-你用过哪些垃圾回收器?它们有什么区别?
- 25-生产环境如何排除和优化 JVM?
- 26-单例的实现方式有几种?它们有什么优缺点?
- 27-你知道哪些设计模式?分别对应的应用场景有哪些?
- 28-红黑树和平衡二叉树有什么区别?
- 29-你知道哪些算法?讲一下它的内部实现过程?
- 30-如何保证接口的幂等性?常见的实现方案有哪些?
- 31-TCP 为什么需要三次握手?
- 32-Nginx 的负载均衡模式有哪些?它的实现原理是什么?
- 33-Docker 有什么优点?使用时需要注意什么问题?