自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 可伸缩服务架构:框架与中间件读书笔记:dubbo实现原理

前言:在很久之前就对rpc(远程过程调用)框架非常感兴趣,然后主动去学习了阿里开源框架dubbo,最近阿里也是重启了dubbo的更新,dubbo又重新散发出活力。当然学习首先是看dubbo官方文档,官方文档有非常详细的功能说明以及使用方法,对于使用dubbo的开发者已经足够了。最近在实习的公司中也有使用到dubbo来编写接口,我辛辛苦苦学习的dubbo框架终于有了用武之地。但我觉得还不够,...

2018-08-25 23:57:15 1126

原创 为什么最好的单例模式是枚举单例?

前言:单例模式是最常见的设计模式了,无论在面试还是真正的工作时也会大量遇到单例模式,单例模式有懒汉饿汉,双重检查锁,静态内部类等等的实现方式,但在Effective Java一书中推荐使用枚举来实现单例模式,那为什么要使用枚举类来实现单例模式呢?枚举单例模式代码:public enum Singleton { INSTANCE; public void wha...

2018-08-25 22:03:41 2292

原创 java Serializable时两个类同名内部却不一样会发生什么问题?

1.serialVersionUID不一样时,产生InviladClassException错误。2.serialVersionUID一样时,内部的变量类型与变量名一致,但有变量缺漏,比如A类有int a,int b,B类只有int a,这种情况序列化不会报错,缺漏的字段会有默认值,int为0,对象引用为null。3.serialVersionUID一样时,内部的变量类型与变量名不一致,比...

2018-08-18 12:23:11 1040

原创 Mybatis技术内幕读书笔记(七)MappedStatement的解析

  总结:MappedStatement包含了id,sqlSource和sqltype,SqlSource包含了一个dynamiccontext和sqlnode,dynamiccontext里面有sqlbuilder,然后mybatis根据xpath解析xm与用户参数来构建sqlnode的树状结构,sqlnode解析完成后会把解析...

2018-08-11 09:36:46 3482

原创 Mybatis技术内幕读书笔记(六)核心模块

XMLConfigBuilder.parse方法:Resultmaps完整解析如下图:未完待续

2018-08-08 19:45:58 303

原创 Mybatis技术内幕读书笔记(五)cache模块

My Batis 中缓存模块相关的代码位于cache 包下, 其中Cache 接口是缓存模块中最核心的接口,它定义了所有缓存的基本行为。Cache 接口的定义如下:PerpetualCache:PerpetualCache 在缓存模块中扮演着ConcreteComponen t 的角色,其实现比较简单,底层使用HashMap 记录缓存项,也是通过该HashMap 对象的方法实现的C...

2018-08-08 19:04:39 215

原创 Mybatis技术内幕读书笔记(四)binding模块(动态代理Mapper)

前言:在iBatis ( MyBatis 的前身)中,查询一个Blog 对象时需要调用SqlSession.queryForObject(”selectBlog ” ,blogld )方法。其中, SqlSession . queryForObject ()方法会执行指定的SQL 语句进行查询井返回一个结果对象, 第一个参数“ selectBlog"指明了具体执行的SQL 语句的id ,该SQ...

2018-08-08 16:35:28 268

原创 Mybatis技术内幕读书笔记(三)Mybatis的连接池原理(PooledDataSource)

前言:  了解JDBC 编程的读者知道,数据库连接的创建过程是非常耗时的,数据库能够建立的连接数也非常有限,所以在绝大多数系统中,数据库连接是非常珍贵的资源,使用数据库连接池就显得尤为必要。使用数据库连接池会带来很多好处,例如,可以实现数据库连接的重用、提高响应速度、防止数据库连接过多造成数据库假死、避免数据库连接泄露等。数据库连接池在初始化时, 一般会创建一定数量的数据库连接并添加到连接池中...

2018-08-08 14:14:40 2592

原创 Mybatis技术内幕读书笔记(二)JDBC反射com. mysql.jdbc.Driver的原理

前言:熟悉JDBC 的读者知道,创建数据库连接之前, 需要先向DriverManager 注册JDBC 驱动类。我们以MySQL 提供的JDBC 驱动为例进行简单分析,com. mysql.jdbc.Driver中有如下静态代码块:Driver Manager 中定义了registeredDrivers 字段用于记录注册的JDBC 驱动,定义如下: 回到MyBatis 中U...

2018-08-08 13:57:44 253

原创 Mybatis技术内幕读书笔记(一)Tomcat的类加载器(Classloader)

前言:我也不知道为什么一本Mybatis的书会有Tomcat的相关内容,不过这是个知识点,需要好好记录。什么是类加载器:Java 虚拟机中的类加载器( ClassLoader )负责加载来自文件系统、网络或其他来源的类文件。Java 虚拟机中的类加载器默认使用的是双亲委派模式,其中有三种默认使用的类加载器,分别是Bootstrap ClassLoader 、Extension Clas...

2018-08-08 13:09:41 340

原创 mysql:在执行左右连接时加上and条件会发生什么?

前言:很久之前有想过在执行左右连接时加上and条件会发生什么现象?今天灵光一闪想马上做做实验来验证我自己的想法。结果如下:可以看出,and判断条件为假时,左右连接的主方都不会为null,而从方会被置为null。大功告成!...

2018-08-04 22:31:08 1130

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除