Jiefang's Blog

过去心不可得,现在心不可得, 未来心不可得

JVM-04丨Java类加载

Java类加载 Java类加载过程 加载->[验证->准备->解析]->初始化 加载 通过一个类的完全限定查找此类字节码文件,并利用字节码文件创建一个Class对象。 验证 确保Class文件的字节流中包含信息符合当前虚拟机要求,不会危害虚拟机自身安全。主要包括四种验证: 文件格式验证 元数据验证 字节码验证 符号引用验证。 准备 为类...

MySQL-04丨影响索引查询效率的场景

响索引查询效率的场景 函数操作 对条件字段做函数操作不走索引 不走索引原因 索引树存储的是列的实际值和主键值,如果拿’2019-05-21’去匹配,将无法定位到索引树中的值,因此放弃走索引,走全表扫描 优化技巧 1 select * from t1 where c>='2019-05-21 00:00:00' and c<='2019-05-21 23:59:59'; 求...

JVM-03丨G1垃圾收集器参数

G1垃圾收集器参数 G1垃圾收集器通用参数设置 -Xms4096M -Xmx4096M -Xss1M -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=200ms -XX:InitiatingHeapOccupancyPercent=60 ...

MySQL-03丨trace分析SQL

trace分析SQL MySQL5.6开始支持使用trace查看优化器如何选择执行计划。 通过trace,能够进一步了解为什么优化器选择A执行计划而不是选择B执行计划,或者知道某个排序使用的排序模式,帮助我们更好地理解优化器行为。 如果需要使用,先开启 trace,设置格式为 JSON,再执行需要分析的 SQL,最后查看 trace 分析结果(在 information_schema.OP...

JVM-02丨CMS垃圾收集器参数

CMS垃圾收集器参数 CMS垃圾收集器通用参数设置 1 2 3 4 5 6 7 8 9 10 11 12 13 -Xms4096M -Xmx4096M -Xmn2048M -Xss256k -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccup...

MySQL-02丨Show profile分析慢查询

Show profile分析慢查询 确定是否支持profile 1 2 3 4 5 6 7 8 9 mysql> select @@have_profiling; +------------------+ | @@have_profiling | +------------------+ | YES | +------------------+ 1 ro...

Redis-01丨Redis replication基本原理

Redis replication基本原理 redis replication -> 主从架构 -> 读写分离 -> 水平扩容支撑读高并发 redis replication的核心机制 redis采用异步方式复制数据到slave节点,不过redis 2.8开始,slave node会周期性地确认自己每次复制的数据量 一个master node是可以配置多个slav...

Java多线程-01丨深入分析synchronized的实现原理

深入分析synchronized的实现原理 深入分析synchronized的实现原理 实现原理 Java对象头 Monitor ObjectMonitor 实现原理 synchronized 可以保证方法或者代码块在运行时,同一时刻只有一个方法可以...

Java基础-01丨Java引用类型

Java引用类型 为了更灵活的控制对象的生命周期,引用被划分为强引用、软引用、弱引用、虚引用四种类型,每种类型有不同的生命周期,它们不同的地方就在于垃圾回收器对待它们会使用不同的处理方式。 强引用 定义 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器宁愿抛出OOM(OutOfMemoryError)也不会回收它。 例如: 1 Object o=new Object(...

JVM-01丨CMS GC的7个阶段

CMS GC的7个阶段 Initial Mark(初始化标记) 初始化标记阶段,是CMS GC的第一个阶段,也是标记阶段的开始。主要工作是标记可直达的存活对象。 主要标记过程 从GC Roots遍历可直达的老年代对象; 遍历被新生代存活对象所引用的老年代对象。 程序执行情况 支持单线程或并行标记。 发生stop-the-world,暂停所有应用线程。 Co...

MySQL-01丨Explain分析SQL

Explain分析SQL Explain结果 列名 解释 id 查询编号 select_type 查询类型 table 涉及到的表 partitions 匹配的...