- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 classloader双亲委托
1、加载的流程是:(1)、loadClass是入口,首先判断是否以及加载过,class缓存机制(native方法,不清楚),如果已经加载过直接返回,否则进入下一步;(2)、如果class没有被加载过,那么就查找当前classLoader的parent classLoader,如果不存在,使用系统加载器BootStrapClassLoader加载, 如果parent classLoad...
2018-12-14 11:05:49 306
原创 myql 联合索引
当前mysql版本是5.7.14,我们约定在 InnoDB 存储引擎下分析该问题。说起联合索引必然绕不开“最左原则”。其实这个原则不是完全按照它说的那样。首先搞一个环境:create table test ( `id` bigint(20) NOT NULL COMMENT 'ID', `closing_num` varchar(2) NOT NULL COMMENT...
2018-10-22 17:02:04 221
原创 MySQL key_len
当前mysql版本是5.7.14,我们约定在 InnoDB 存储引擎下分析该问题。这里着重解释一下key_len,因为关于在列的长度以及联合索引时,可能需要从ken_len上进行分析。这里有篇文章是比较好的https://www.cnblogs.com/zhoujinyi/p/3784450.html。其他的可以在平常工作中测试实践。这里补充两点:1、首先int类型为什么是key_...
2018-10-17 19:08:57 502
原创 explain执行计划
当前mysql版本是5.7.14,我们约定在 InnoDB 存储引擎下分析该问题。(友情提示除了explain,还有desc命令有同样效果) EXPLAIN SELECT count(*) from c left join b on b.id = c.b_id left join a on a.id = b.a_id; EXPLAIN SELECT count(*) from c...
2018-10-17 19:04:44 160
原创 记一次线上问题解决过程
背景 在财务同步采购单据时,之前由于门店较少,里面有些问题也没有暴露出来,切完所有门店之后,出现生产bug,经过一系列排查,最终发现是代码写的严谨导致的。现将这次事故记录下来,供大家参考,同时这里要感谢祥哥教的解决问题的思路与方法。等一下也会说这个。 执行流程大致是:1、查询采购库;2、过滤筛选,并分成插入财务表和更新财务表;3、对插入数据进行处理;4、插...
2018-09-30 14:21:00 847
原创 类初始化过程详解
首先类在JVM的生命周期经历3个过程:加载——>使用——>卸载。本章主要讨论加载这个过程。类加载这个过程总共有5个阶段,分别为字节码加载、验证、准备、解析、初始化。又可以把验证、准备、解析合并叫做连接。关于整个加载过程在下一篇文章详细讲解,而到了初始化阶段,才真正执行类中定义的Java程序代码(或者说是字节码)。
2017-09-27 14:56:29 853
原创 java数据类型、存储以及作为方法参数传递
首先JAVA分两种数据类型:基本数据类型、引用数据类型。基本数据类型:char、boolean、byte、short、int、long、float、double;引用类型则有:类、接口、数组等。而java关于数据存放的地方有:寄存器(程序不可控)、栈(stack)、堆(heap)、常量区等,这篇文章主要是说栈和堆的存储。大家都知道基本类型对象存储在栈、引用类型对象存储在堆,你还可能知道 引用型
2017-09-14 13:02:50 517
深入理解Java虚拟机--JVM高级特性与最佳实践2.pdf
2017-08-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人