03 2019 档案

摘要:JVM运行时内存被划分成多个区域,而除了程序计数器之外,其他几个区都会出现OutOfMemoryError异常,主要原因就是对应内存区域的内存不足以再分配内存,一般要么是内存泄漏了要么就是内存参数设置的过小而导致。本文就在实际操作中模拟下JVM内存模型中各个区域出现内存溢出的场景。 1.堆内存溢出 阅读全文
posted @ 2019-03-30 22:45 Lucky帅小武 阅读(404) 评论(0) 推荐(0)
摘要:Java程序员一般不需要太关注内存,因为操作内存的权力都交给了Java虚拟机,但是Java程序员必须需要了解JVM是如何使用内存的,否则一旦内存出现泄漏或事溢出的话,就会一筹莫展不知道从哪去入手排查问题。 一、JVM内存模型 JVM在运行时会把它管理的内存划分成若干个不同区域,每个区域有各自不同的用 阅读全文
posted @ 2019-03-30 22:38 Lucky帅小武 阅读(351) 评论(0) 推荐(0)
摘要:介绍 SkyWalking项目是由华为大牛吴晟开源的个人项目,目前已经加入Apache孵化器。SkyWalking项目的核心目标是针对微服务、Cloud Native、容器化架构提供应用性能监控和分布式调用链追踪功能,目前链路追踪和监控应用支持的组件包括主流框架和容器,如dubbo、motan、sp 阅读全文
posted @ 2019-03-26 23:47 Lucky帅小武 阅读(9207) 评论(0) 推荐(0)
摘要:说完了StatementHandler和ParameterHandler,接下来就需要对查询的结果进行处理了,而对于sql结果的处理是由ResultSetHandler处理的,ResultHandler位于mybatis包的 org.apache.ibatis.executor.resultset下 阅读全文
posted @ 2019-03-26 15:33 Lucky帅小武 阅读(1048) 评论(0) 推荐(0)
摘要:ParameterHandler接口是参数处理器,位于mybatis包的org.apache.ibatis.executor.parameter下,源码如下: 可见ParameterHandler接口只有简单的两个方法,一个是获取参数一个是设置参数。ParameterHandler接口默认实现类是D 阅读全文
posted @ 2019-03-26 14:29 Lucky帅小武 阅读(740) 评论(0) 推荐(0)
摘要:从前面分析我们知道了sql的具体执行是通过调用SqlSession接口的对应的方法去执行的,而SqlSession最终都是通过调用了自己的Executor对象的query和update去执行的。本文就分析下sql的执行器 Executor Executor是mybatis的sql执行器,SqlSes 阅读全文
posted @ 2019-03-26 00:13 Lucky帅小武 阅读(1290) 评论(0) 推荐(0)
摘要:上一篇文章分析到mapper.xml中的sql标签对应的MappedStatement是如何初始化的,而之前也分析了Mapper接口是如何被加载的,那么问题来了,这两个是分别加载的到Configuration中的,那么问题来了,在使用过程中MappedStatement又是如何和加载的mapper接 阅读全文
posted @ 2019-03-25 22:23 Lucky帅小武 阅读(2859) 评论(0) 推荐(1)
摘要:一年一度的毕业季,最令毕业生头疼的就是毕业设计以及撰写毕业论文,而毕业论文还需要加上多篇参考文献,有的老师对参考文献的要求是很多的,比如需要国内的和国外的,时间必须是近三年的,满足XXX要求的文献至少需要三篇以上等等。今天我就来给大家整理了各种技术各个出版时间年份的参考文献以供大家引用:(按文献出版 阅读全文
posted @ 2019-03-21 23:36 Lucky帅小武 阅读(37124) 评论(0) 推荐(0)
摘要:上一篇我们了解到了MappedStatement类就是mapper.xml中的一个sql语句,而Configuration初始化的时候会加载所有的mapper接口类,而本篇再分析下是如何将mapper接口和xml进行绑定的。 先从上一篇的源码开始分析: 如果猜的没错的话,那么第9行和第10行就是解析 阅读全文
posted @ 2019-03-21 23:02 Lucky帅小武 阅读(3809) 评论(0) 推荐(3)
摘要:MappedStatement类位于mybatis包的org.apache.ibatis.mapping目录下,是一个final类型也就是说实例化之后就不允许改变 MappedStatement对象对应Mapper.xml配置文件中的一个select/update/insert/delete节点,描 阅读全文
posted @ 2019-03-21 21:39 Lucky帅小武 阅读(10267) 评论(0) 推荐(0)
摘要:在开始分析mybatis源码之前,需要定一个目标,也就是我们不是为了读源码而去读,一定是带着问题去读,在读的时候去寻找到答案,然后再读码的同时整理总结,学习一些高级的编码方式和技巧。 首先我们知道mybatis是一个持久层框架,封装了JDBC的一切操作,使得程序在进行JDBC操作时不需要再关注底层是 阅读全文
posted @ 2019-03-21 20:42 Lucky帅小武 阅读(646) 评论(0) 推荐(2)