bak
<p>一条sql查询慢
1、一直很慢
1、索引没用到
1、人没用到
没有建立索引
2、sql执行没用到
索引建了, 但是sql中使用了 表达式,导致没用到
2、sql使用了错的索引
系统会根据基数来决定是否使用该索引
2、偶尔很慢
1、刷新脏页
2、被锁了</p>
<pre><code>·</code></pre>
<p>回表</p>
<p>对象创建过程:
1、加载类对象
判断该类对象是否被加载,若没加载则加载
2、分配内存空间
为对象分配空间:
2种方法:
指针碰撞【内存空间是连续的 标记整理,复制回收】、空闲空间【内存空间不连续,为了一个空闲列表来分配内存空间,标记清楚】
分代回收算法:</p>
<p>3、赋予零值
数字类 0/0.0 boolean:false</p>
<p>4、设置对象头信息
gc分代年龄、所标志位 ==信息
5、执行init方法
执行生成 实例对象</p>
<p>类加载过程
1、加载
将class文件解析成二进制流到内存中,并在堆中创建一个Class对象,指向改二进制流, 作为访问的入口
2、连接
判断这个二进制文件是否有危险、
赋予0值
符号引用转换成直接引用
3、初始化
初始化值</p>