- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 Mybatis底层原理(二)SqlSession运行过程
1.SqlSession是一个接口,包含了查询、修改、插入、删除的方法。我们既可以直接使用这些方法也可以使用Mapper来代理使用这些方法。 1.1 Mapper的动态代理 1.1.1 Mapper映射是通过动态代理来实现的,我们来看下MapperProxyFactory部分源码: public class MapperProxyFactory /* */ { /* */ p
2018-01-12 10:20:16
1874
原创 Mybatis底层原理总结(一)
本文适合对Mybatis有一定了解的。 1. Mybatis 读取XML配置文件后会将内容放在一个Configuration类中,Configuration类会存在整个Mybatis生命周期,以便重复读取。SqlSessionFactoryBuilder会读取Configuration类中信息创建SqlSessionFactory。 2. Mybatis中SqlSessionFacti
2018-01-11 11:51:06
19555
1
原创 mysql记录慢查询日志的方法
该方法只适用于mysql5.6以上版本; 首先查询mysql是否开启慢查询功能 show variables like 'slow_query_log'; 使用set global slow_query_log=1; 开启慢查询日记记录 使用show variables like 'slow_query_log_file';查看日记记录位置; 默认存储
2017-12-07 14:33:54
327
原创 记录关于搭建mysql主从复制中遇见的问题
在MySQL主从复制搭建完成后,在master上创建好新表,插入数据,发现从表并没有插入; show slave status\G; 查看slave的报错信息:[ERROR] Slave SQL: Column 1 of table 'DB.t_tb' cannot be converted from type 'varchar(180)' to type 'varchar(60)', Int
2017-10-19 15:04:02
600
原创 关于for each循环不能直接使用集合的remove方法的原因
记录一下为何在使用for each 循环时,不能在循环体内直接使用集合的remove方法的原因; 因为for each循环的底层原理时用iterator来实现的,所以在遍历元素的时实际操作使用的时iterator; 但我们在循环体内部使用集合自身的remove方法时,以ArrayList源码为例: public boolean remove(Object o) {
2017-09-27 16:26:57
673
转载 Java transient关键字使用小记
转载于http://www.cnblogs.com/lanxuezaipiao/p/3369962.html 1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动
2017-09-26 16:08:18
261
原创 ThreadLocal模式的理解
工作也2年了,看了很多人的博客,也看了些书,都建议做技术的能够养成写博客的习惯,所以决定尝试开始写博客,可能一开始只是作为自己的知识笔记记录,希望在以后能够达到博客文的水平。 ThreadLocal的作用个人理解是使数据在不同编程层次得到有效的共享,对执行逻辑和执行数据进行有效的解耦。 ThreadLocal常用于多线程问题。 ThreadLocal类在维护变量时,实
2017-08-28 18:22:38
541
原创 JAVA基础小知识
在JAVA中,将CHAR类型转换为INT类型; 方法 char a = '1'; int b = a - '0'; 接下来看实例: 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public class Prog3 { public stati
2017-03-10 17:34:54
278
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅