
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
摘要:JVM(Java虚拟机)是Java程序运行的平台环境,负责类加载、内存管理和字节码执行等具体功能;JMM(Java内存模型)则是定义多线程并发访问内存的抽象规则,确保可见性、有序性和原子性。JVM如同实体工厂,JMM则是工厂的操作规范。JMM的核心包括Happens-Before原则、主内存/工作内存抽象模型,以及volatile、synchronized等关键字的内存语义。理解JMM能帮助

锁升级是JVM优化synchronized性能的机制,通过无锁→偏向锁→轻量级锁→重量级锁的渐进式升级,在保证线程安全的同时最小化性能开销。偏向锁优化单线程重复访问,轻量级锁通过自旋应对短时竞争,重量级锁则在激烈竞争时启用内核级调度。整个过程由JVM自动完成,实现从低开销到高保障的智能过渡,完美平衡了并发场景下的效率与安全性。

SQL性能优化检查清单:通过EXPLAIN分析查询执行计划是核心优化手段。重点关注type列(访问类型),从最优到最差依次为system>const>eq_ref>ref>range>index>ALL,至少应达到range级别。检查key列确保实际使用索引,避免key为NULL的全表扫描。注意Extra列中的警告信息,如Using filesort和Using

本文通过五个典型案例展示了使用EXPLAIN进行SQL调优的方法:1)通过添加单列或复合索引优化全表扫描;2)利用复合索引消除文件排序;3)创建覆盖索引提升查询效率;4)遵循最左前缀原则设计索引;5)避免索引失效场景(如列运算、函数、类型转换等)。文章还介绍了高级调优技巧,包括JSON格式分析、EXPLAIN ANALYZE、优化器提示和索引使用统计,强调EXPLAIN是发现问题的手段,最终目标是

分表只是手段,不是目的。

线程池是一种线程管理机制,通过预先创建和复用线程来优化系统性能。其工作流程类似银行窗口系统:任务优先由核心线程处理,队列满时创建新线程,最终触发拒绝策略。相比频繁创建线程,线程池能复用资源、控制并发数、提高响应速度。核心参数包括线程数、队列容量和拒绝策略等。创建方式有Executors快捷工厂和自定义ThreadPoolExecutor两种,提供四种拒绝策略处理超载任务。线程池能有效管理系统资源,

SQL性能优化检查清单:通过EXPLAIN分析查询执行计划是核心优化手段。重点关注type列(访问类型),从最优到最差依次为system>const>eq_ref>ref>range>index>ALL,至少应达到range级别。检查key列确保实际使用索引,避免key为NULL的全表扫描。注意Extra列中的警告信息,如Using filesort和Using








