- 博客(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
1774
原创 Mybatis底层原理总结(一)
本文适合对Mybatis有一定了解的。1. Mybatis 读取XML配置文件后会将内容放在一个Configuration类中,Configuration类会存在整个Mybatis生命周期,以便重复读取。SqlSessionFactoryBuilder会读取Configuration类中信息创建SqlSessionFactory。2. Mybatis中SqlSessionFacti
2018-01-11 11:51:06
19417
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
255
原创 记录关于搭建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
520
原创 关于for each循环不能直接使用集合的remove方法的原因
记录一下为何在使用for each 循环时,不能在循环体内直接使用集合的remove方法的原因;因为for each循环的底层原理时用iterator来实现的,所以在遍历元素的时实际操作使用的时iterator;但我们在循环体内部使用集合自身的remove方法时,以ArrayList源码为例:public boolean remove(Object o) {
2017-09-27 16:26:57
608
转载 Java transient关键字使用小记
转载于http://www.cnblogs.com/lanxuezaipiao/p/3369962.html1. transient的作用及使用方法我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动
2017-09-26 16:08:18
178
原创 ThreadLocal模式的理解
工作也2年了,看了很多人的博客,也看了些书,都建议做技术的能够养成写博客的习惯,所以决定尝试开始写博客,可能一开始只是作为自己的知识笔记记录,希望在以后能够达到博客文的水平。ThreadLocal的作用个人理解是使数据在不同编程层次得到有效的共享,对执行逻辑和执行数据进行有效的解耦。ThreadLocal常用于多线程问题。ThreadLocal类在维护变量时,实
2017-08-28 18:22:38
460
原创 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
226
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人