摘要: 1.全值匹配 explain select * from employees where name = 'Lucy'; ref为const 2.最左前缀法则 当索引是组合索引时,需遵守最左前缀法则,即查询组合索引中的列时,从最左侧开始不能跳过列,否则索引会失效 explain select * fr 阅读全文
posted @ 2021-07-15 23:09 Flyinglion 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 简述: explain为mysql提供语句的执行计划信息。可以应用在select、delete、insert、update和place语句上。explain的执行计划,只是作为语句执行过程的一个参考,实际执行的过程不一定和计划完全一致,但是执行计划中透露出的讯息却可以帮助选择更好的索引和写出更优化的 阅读全文
posted @ 2021-07-11 13:27 Flyinglion 阅读(1179) 评论(0) 推荐(1) 编辑
摘要: 常量池 Class常量池(class constant pool) 定义:class文件中除了包含类的版本、字段、方法、接口等描述信息外,还有一项信息就是常量池(constant pool table),用于存放编译器生成的各种字面量(Literal)和符号引用(Symbolic Reference 阅读全文
posted @ 2021-06-24 23:12 Flyinglion 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 索引 索引就是一种快速检索的、排好序的数据机构。 本质:数据结构+算法 类别及数据结构 Hash表 能够快速查找O(1),但是会发生hash冲突,且不支持范围查询、排序,只支持=、in。 二叉树 一颗相对平衡的有序二叉树,可进行插入、查找、删除。O(logn) 缺点:存在致命的倾斜性问题,如 果数据 阅读全文
posted @ 2021-06-17 22:37 Flyinglion 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 仅以此记录学习笔记等! JVM调优 常见的调优指令 jps 查看应用程序对应的进程id jmap 内存 查看内存信息,实例个数,占用内存的大小等 jmap -histo 27500(可添加 > ./testLog.txt 生成txt到当前目录下) num:序号 instances:实例数量 byte 阅读全文
posted @ 2021-06-17 22:34 Flyinglion 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 仅以此记录学习笔记等! HostSpot虚拟机中的垃圾收集器 注:两个收集器之间存在连线,说明其可以搭配使用。特殊说明:CMS备选老年代收集器可以使用Serial Old。 Serial收集器 -XX:+UseSerialGC 简介:Serial收集器是最基本、发展历史最悠久的垃圾收集器,曾是虚拟机 阅读全文
posted @ 2021-06-08 21:25 Flyinglion 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 仅以此记录学习笔记等! 基本回收算法 在堆中几乎保存着所有能够想到的对象实例,也就是根据对象存活的周期不同,将内存分为不同的块。 而目前的JVM中处理垃圾收集的方式--几乎都采用的分代收集算法(即**将对象熬过垃圾收集的次数,视为对象的年龄,也依此将对象至少划分为新生代和老年代这两个代**)。 标记 阅读全文
posted @ 2021-06-06 00:14 Flyinglion 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 仅以此记录学习笔记等! 具体代码见 --> 字节码解析 javap -verbose xxx.class 反编译 通过16进制查看器打开的文件结构是一个当个字节来显示,因为一个16进制数可以通过4位来表示,一个字节8位可以表示二个16进制数 整体结构分为: class文件结构 类的访问权限 字段表结 阅读全文
posted @ 2021-06-01 22:54 Flyinglion 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 仅以此记录学习笔记等! 对象创建 大概流程: 1类加载检查 虚拟机遇到一个new命令时(new指令在语言层次上,代表new关键字,对象的克隆或者序列化等), 首先将要检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化过(即类加载那五个步 阅读全文
posted @ 2021-05-31 23:26 Flyinglion 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 堆 常用: -Xms:JVM初始最小分配的内存由-Xms指定,默认是物理内存的1/64 -Xmx:JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4 新生代: -Xmn:设置年轻代大小 -Xmn2G:设置年轻代大小为2G。 -XX:NewSize设置新生代最小空间大小。 -XX:MaxNew 阅读全文
posted @ 2021-05-27 21:19 Flyinglion 阅读(578) 评论(0) 推荐(0) 编辑