摘要: 前言 Mybatis的缓存主要有两种: 系统缓存,也就是我们一级缓存与二级缓存; 自定义的缓存,比如Redis、Enhance等,需要额外的单独配置与实现,具体日后主要学习介绍。 在这里主要记录系统缓存的一些简单概念, 并没有涉及原理。其中会涉及Mybatis的相关配置以及生命周期等。 主要参考资料 阅读全文
posted @ 2018-07-29 22:07 JJian 阅读(9604) 评论(7) 推荐(6) 编辑
摘要: 1、什么是This逃逸? 在构造器构造还未彻底完成前(即实例初始化阶段还未完成),将自身this引用向外抛出并被其他线程复制(访问)了该引用,可能会问到该还未被初始化的变量,甚至可能会造成更大严重的问题。 废话不多说,看一下代码 1 /** 2 * 模拟this逃逸 3 * @author Liji 阅读全文
posted @ 2018-07-26 00:01 JJian 阅读(10299) 评论(10) 推荐(4) 编辑
摘要: 在开始博客之前,还是同样的给一个大概的目录结构,实则即为一般MySQL的优化步骤 1、查看SQL的执行频率 使用show status命令 2、定位哪些需要优化的SQL 通过慢查询记录+show processlist命令查看当前线程 3、分析为什么SQL执行效率低 使用explain/desc命令 阅读全文
posted @ 2018-07-23 19:08 JJian 阅读(5648) 评论(0) 推荐(3) 编辑
摘要: 前言 今天周末,闲来无事,干嘛呢?当然看书啊,总结啊!读完书光回想是没用的,必须有个自己的第一遍理解,第二遍理解.....,就比如简简单单的JMM说来轻松,网上博客虽多,图文代码加以解释的甚少,并没有给读者一种层次感。所以我想写这么一篇博客,算是总结自己的第一遍理解,同时尽自己最大的可能让大家理解的 阅读全文
posted @ 2018-07-22 20:31 JJian 阅读(1318) 评论(2) 推荐(3) 编辑
摘要: 以前我以为只有Python才会有generator,看来当时的我才年轻,后来认真研读《Thinking in Java》之后大有感悟,原来Java亦有generator,故做一次记录分享。过程中主要通过具体代码展示笔记简单比较Python generator来加深理解。 1、什么是Java Gene 阅读全文
posted @ 2018-07-20 14:12 JJian 阅读(5390) 评论(1) 推荐(2) 编辑
摘要: 我们都知道Java有三大宝,分别是:多态、封装、继承。其中多态主要体现就是重写与重载(有些人认为重载根本不属于多态)两种方式,那么今天就结合研读过JVM之后自己的理解来聊聊重载与重写的VM内部是怎么实现的,是怎么找到最后执行的方法的。 在分析重载与重写这两个之前,我们必须要知道一些概念:分派、静态分 阅读全文
posted @ 2018-06-21 01:40 JJian 阅读(2305) 评论(0) 推荐(0) 编辑
摘要: 一、如何判断对象已死? 我们知道程序计数器、虚拟机栈、本地方法栈三个区域都是线程私有的,它们的生命周期都是随着线程而生,随着线程而亡,因此是不需要过多考虑回收的问题,而Java Heap(堆)与Method Area(方法区)不一样,必须考虑内存回收问题。 我们只有当程序运行的时候才会知道会创建哪些 阅读全文
posted @ 2018-06-20 23:07 JJian 阅读(416) 评论(0) 推荐(3) 编辑