摘要: 一 .概述 先讲缓存实现,主要是mybatis一级缓存,二级缓存及缓存使用后续补充 Mybatis缓存的实现是基于Map的,从缓存里面读写数据是缓存模块的核心基础功能;除核心功能之外,有很多额外的附加功能,如:防止缓存击穿,添加缓存清空策略(fifo、lru)、序列化功能、日志能力、定时清空能力等; 阅读全文
posted @ 2018-11-17 19:23 开心的鱼a1 阅读(1153) 评论(0) 推荐(1) 编辑
摘要: 一.概述: 常见的数据源组件都实现了javax.sql.DataSource接口; MyBatis不但要能集成第三方的数据源组件,自身也提供了数据源的实现; 一般情况下,数据源的初始化过程参数较多,比较复杂; 二.设计模式: 为什么要使用工厂模式 数据源模块类图 : 三.MyBatis源码数据源实现 阅读全文
posted @ 2018-11-11 23:52 开心的鱼a1 阅读(913) 评论(0) 推荐(0) 编辑
摘要: 一 .概述 MyBatis没有提供日志的实现类,需要接入第三方的日志组件,但第三方日志组件都有各自的Log级别,且各不相同,但MyBatis统一提供了trace、debug、warn、error四个级别; 自动扫描日志实现,并且第三方日志插件加载优先级如下:slf4J → commonsLoging 阅读全文
posted @ 2018-11-11 17:54 开心的鱼a1 阅读(1963) 评论(0) 推荐(1) 编辑
摘要: 类加载机制 概述 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶 阅读全文
posted @ 2018-10-30 13:58 开心的鱼a1 阅读(2861) 评论(0) 推荐(0) 编辑
摘要: Java跨平台的基础 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石,也是语言无关性的基础。Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集 阅读全文
posted @ 2018-10-10 08:49 开心的鱼a1 阅读(761) 评论(0) 推荐(0) 编辑
摘要: 虚拟机栈 栈桢大小缺省为1M,可用参数 –Xss调整大小,例如-Xss256k 堆 -Xms:堆的最小值; -Xmx:堆的最大值; -Xmn:新生代的大小; -XX:NewSize;新生代最小值; -XX:MaxNewSize:新生代最大值; 例如- Xmx256m 方法区/永久代 用于存储已经被虚 阅读全文
posted @ 2018-08-31 11:21 开心的鱼a1 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 判断对象的存活 引用计数 快,方便,实现简单,缺点:对象相互引用时,很难判断对象是否改回收。 可达性分析 来判定对象是否存活的。这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象 阅读全文
posted @ 2018-08-24 15:01 开心的鱼a1 阅读(240) 评论(0) 推荐(0) 编辑
摘要: Java内存区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域: 程序计数器、虚拟机栈、本地方法栈、Java堆、方法区(运行时常量池)、直接内存 程序计数器 当前线程执行的字节码的行号指示器,占用空间小,也无法干涉。 虚拟机栈 每个线程私有的,线程在运行时,在 阅读全文
posted @ 2018-08-23 14:08 开心的鱼a1 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 注解测试:如何使用注解(去掉配置文件)开发 新建MainConfig类 注解测试:新建MainTest2注解测试,用来测试//AnnoatationConfigApplicationContext: 注解配置来获取IOC容器 2.1 操作:新建cap2文件夹,新建Cap2MainConfig.jav 阅读全文
posted @ 2018-07-13 15:11 开心的鱼a1 阅读(978) 评论(0) 推荐(1) 编辑
摘要: 阅读全文
posted @ 2018-07-12 13:50 开心的鱼a1 阅读(172) 评论(0) 推荐(0) 编辑