- 博客(13)
- 资源 (2)
- 收藏
- 关注
转载 Nio
基础概念缓冲区操作 缓冲区及操作是所有I/O的基础,进程执行I/O操作,归结起来就是向操作系统发出请求,让它要么把缓冲区里的数据排干(写),要么把缓冲区填满(读)。如下图内核空间、用户空间 上图简单描述了数据从磁盘到用户进程的内存区域移动的过程,其间涉及到了内核空间与用户空间。这两个空间有什么区别呢? 用户空间就是常规进程(如JVM)所在区域,用户空间是非特权区域,如不能直接
2016-04-27 11:11:16 413
转载 原理分析之三:初始化(配置文件读取和解析)
1. 准备工作 编写测试代码(具体请参考《Mybatis入门示例》),设置断点,以Debug模式运行,具体代码如下: Java代码 String resource = "mybatis.cfg.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactory
2016-04-24 15:28:40 250
转载 原理分析之二:框架整体设计
1.引言本文主要讲解Mybatis的整体程序设计,理清楚框架的主要脉络。后面文章我们再详细讲解各个组件。 2.整体设计2.1 总体流程(1)加载配置并初始化 触发条件:加载配置文件 配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句
2016-04-24 15:27:27 350
转载 原理分析之一:从JDBC到Mybatis
1.引言本文主要讲解JDBC怎么演变到Mybatis的渐变过程,重点讲解了为什么要将JDBC封装成Mybaits这样一个持久层框架。再而论述Mybatis作为一个数据持久层框架本身有待改进之处。 2.JDBC实现查询分析我们先看看我们最熟悉也是最基础的通过JDBC查询数据库数据,一般需要以下七个步骤:(1) 加载JDBC驱动(2) 建立并获取数据库连接(3)
2016-04-24 15:23:04 222
转载 Java中String的设计原理
首先,必须强调一点:String Pool不是在堆区,也不是在栈区,而是存在于方法区(Method Area)解析:String Pool是常量池(Constant Pool)中的一块。我们知道,常量就是不可以再改变的值,给它建一个池子很明显是为了加快程序运行的速度;在一个程序中,常量和变量是相对存在的;变量因为可变性所以一般存在于栈中,而常量去作为一个特殊群体被存在在常
2016-04-20 12:04:25 710
转载 Spring源码(一)——Bean加载过程
之前的学习,一直在强调实践的过程,讲究开发的速度,未曾去深究底层实现的原理。昨天就遇到了一个天大的教训,也使自己得以警醒,面撒的大可以,但是必须要做到精,不然好像什么都知道,但是什么都说的不是很透彻,这点很不好!!以下文为引用某大牛的实践过程。==========================================================================
2016-04-20 11:58:52 1281
转载 Spring事务详解
附一、Spring事务类型详解PROPAGATION_REQUIRED,readOnlyPROPAGATION_REQUIRED估计有好多朋友还没有弄清楚里面的值的意思,仔细看完下面应该知道自己什么情况下面应该使用什么样的声明。^_^Spring中常用事务类型:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选
2016-04-15 11:26:45 404
原创 Spring事务嵌套
最近做的项目中遇到事务嵌套的问题,被坑了一把。原因出在没有能够深刻理解事务声明中不同事务传播属性配置的的含义。原来想象是serviceA的方法调用ServiceB(级别次要)的方法用同一个事务来执行,serviceB在执行报异常时,tryCatch住B的异常然后serviceA继续执行,我便"顺理成章"的认为methodA和methodB都各自有自己的事务,结果确实serviceA也同时抛异常
2016-04-15 11:13:44 4638
原创 Sqool和Hive、HBase简介
Sqool和Hive、HBase简介SqoopSqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的开源工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Hive不想用程序语言开发MapReduce的朋友比如DB们,熟悉SQL的
2016-04-13 17:54:56 2155
转载 hadoop、storm和spark的区别、比较
一、hadoop、Storm该选哪一个?为了区别hadoop和Storm,该部分将回答如下问题:1.hadoop、Storm各是什么运算2.Storm为什么被称之为流式计算系统3.hadoop适合什么场景,什么情况下使用hadoop4.什么是吞吐量首先整体认识:Hadoop是磁盘级计算,进行计算时,数据在磁盘上,需要读写磁盘;Storm是内存级计算,数据直接通过
2016-04-11 11:19:59 14240
原创 为什么是0不是1
int i = 0;i = i++;System.out.println(i);代码如上,为什么输出的i是0而不是1呢?来一起看一下上面那段代码都做了什么:int oldValue = i; i = i + 1;i = oldValue;换句话说,这是一个普遍的误解,增量是最后发生的,表达式赋值之后自增才会立即执行。
2016-04-11 11:08:48 734
翻译 MyBatis Generator中文文档
MyBatis Generator中文文档MyBatis Generator中文文档地址:http://mbg.cndocs.tk/该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。本文中所有节点的链接都是对应的中文文档地址,可以点击查看详细信
2016-04-11 10:10:33 10608 1
《go入门指南》
2019-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人