深入浅出

【深入浅出MyBatis系列一】MyBatis入门

若如初见. 提交于 2019-11-28 12:55:08
#0 系列目录# 深入浅出MyBatis系列 【深入浅出MyBatis系列一】MyBatis入门 【深入浅出MyBatis系列二】配置简介(MyBatis源码篇) 【深入浅出MyBatis系列三】Mapper映射文件配置 【深入浅出MyBatis系列四】强大的动态SQL 【深入浅出MyBatis系列五】SQL执行流程分析(源码篇) 【深入浅出MyBatis系列六】插件原理 【深入浅出MyBatis系列七】分页插件 【深入浅出MyBatis系列八】SQL自动生成插件 【深入浅出MyBatis系列九】改造Cache插件 【深入浅出MyBatis系列十】与Spring集成 【深入浅出MyBatis系列十一】缓存源码分析 【深入浅出MyBatis系列十二】终结篇:MyBatis原理深入解析 MyBatis 是一个可以 自定义SQL、存储过程和高级映射 的持久层框架。 MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获 。MyBatis 只使用 简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录 。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言, Mybatis 是一种“半自动化”的ORM实现 。 ORM工具的基本思想,无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点: 从配置文件

深入浅出MyBatis_Index

会有一股神秘感。 提交于 2019-11-27 10:08:23
深入浅出MyBatis系列 【深入浅出MyBatis系列一】MyBatis入门 【深入浅出MyBatis系列二】配置简介(MyBatis源码篇) 【深入浅出MyBatis系列三】Mapper映射文件配置 【深入浅出MyBatis系列四】强大的动态SQL 【深入浅出MyBatis系列五】SQL执行流程分析(源码篇) 【深入浅出MyBatis系列六】插件原理 【深入浅出MyBatis系列七】分页插件 【深入浅出MyBatis系列八】SQL自动生成插件 【深入浅出MyBatis系列九】改造Cache插件 【深入浅出MyBatis系列十】与Spring集成 【深入浅出MyBatis系列十一】缓存源码分析 【深入浅出MyBatis系列十二】终结篇:MyBatis原理深入解析 MyBatis参考文档 来源: oschina 链接: https://my.oschina.net/u/120166/blog/548872

【深入浅出MyBatis系列十】与Spring集成

萝らか妹 提交于 2019-11-27 08:33:21
#0 系列目录# 深入浅出MyBatis系列 【深入浅出MyBatis系列一】MyBatis入门 【深入浅出MyBatis系列二】配置简介(MyBatis源码篇) 【深入浅出MyBatis系列三】Mapper映射文件配置 【深入浅出MyBatis系列四】强大的动态SQL 【深入浅出MyBatis系列五】SQL执行流程分析(源码篇) 【深入浅出MyBatis系列六】插件原理 【深入浅出MyBatis系列七】分页插件 【深入浅出MyBatis系列八】SQL自动生成插件 【深入浅出MyBatis系列九】改造Cache插件 【深入浅出MyBatis系列十】与Spring集成 【深入浅出MyBatis系列十一】缓存源码分析 【深入浅出MyBatis系列十二】终结篇:MyBatis原理深入解析 单独使用mybatis是有很多限制的( 比如无法实现跨越多个session的事务 ),而且很多业务系统本来就是使用spring来管理的事务,因此mybatis最好与spring集成起来使用。 #1 Spring集成配置# <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="datasource"></property>

javascript深入浅出

可紊 提交于 2019-11-26 14:46:32
第一章 数据类型 1,六种数据类型:原始类型(number,string,boolean,null,undefined) + object对象(Function Array Date) 2,隐式转换:NaN≠NaN,null==undefined,new Object≠new Object(用引用来比较而不是值), new Object()==new Object(),null==undefined 3,类型检测:typeof(typeof null==="object") 原始类型 instanceof(obj instanceof Object) 对象类型 基于原型链判断 object.prototype.toString constructor duck type 第二章 表达式和运算符 1,逗号运算符:var a=(1,2,3)那么a=3取最右 2,delete运算符: 3,new运算符: new创造构造器实例 第三章 语句 1,没有块级作用域(也就是说变量定义在大括号里外不影响) 2,var a=b=1;(a是局部变量,b是全局变量) 应为var a=1,b=1; 3,严格模式: use strict    报错(SyntaxError) 四 判断x == y 如果x不是正常值(比如抛出一个错误),中断执行。 如果y不是正常值,中断执行。 如果Type(x)与Type(y

深入浅出nodejs内存控制知识点整理

穿精又带淫゛_ 提交于 2019-11-26 04:18:06
node基于v8构建,所以在node中使用的js对象基本上都是通过v8自己的方式来进行分配和管理的。 在v8中,所有的js对象都是通过堆来进行分配的。 process.memoryUsage(); { rss:24473600, heapTotal: 7331840, heapUsed: 5736952, external: 8727 } v8内存分代 v8中,主要将内存分为新生代和老生代。新生代中为存活时间较短的对象,老生代中为存活时间较长的对象。 新生代垃圾回收: 新生代中的对象主要通过Scavenge算法进行垃圾回收。将新生代中的内存空间一分为二,处于使用状态的为From空间,处于闲置状态的为To空间。在进行垃圾回收时,检查From空间的存活对象并复制到To空间,非存活对象占用空间释放。之后From和To空间角色对调。 对象晋升: 如果一个对象经历过一次新生代垃圾回收,或者To空间的内存占比超过25%,则此对象从新生代中移动到老生代中,此过程称为晋升。 老生代垃圾回收: 主要采用Mark-Sweep(标记清除)和Mark-Compact(标记整理)两种方式进行垃圾回收。 标记清除在标记阶段遍历堆中的所有对象,并标记活着的对象。随后的清除中只清除没有被标记的对象。会产生内存碎片。为解决这个问题,标记整理被提了出来,在对象被标记为死亡后,在整理的过程中,将活着的对象往一端移动

反射的深入浅出

淺唱寂寞╮ 提交于 2019-11-26 02:05:58
刚开始接触反射这个概念,感觉反射这个机制很复杂很难懂,所以在这篇文章中对java的反射机制以个人的理解总结归纳。 1. 什么是反射? 什么是反射?在官方文档中是这样说的: Reflection is commonly used by programs which require the ability to examine ormodify the runtime behavior of applications running in the Java virtual machine. This is a relatively advanced feature and should be used only by developers whohave a strong grasp of the fundamentals of the language. With that caveat in mind, reflection is a powerful technique and can enable applications to perform operations which would otherwise be impossible 翻译一下: 反射技术通常被用来检测和改变应用程序在 Java 虚拟机中的行为表现。它是一个相对而言比较高级的技术

“深入浅出”来解读Docker网络核心原理

放肆的年华 提交于 2019-11-25 20:31:42
前言  之前笔者写了有些关于dokcer的各种相关技术的文章,唯独Docker网络这一块没有具体的来分享。后期笔者会陆续更新Docker集群以及Docker高级实践的文章,所以在此之前必须要和大家一起来解读一下Docker网络原理。  就好比中国武术一样:学招数,会的只是一时的方法;练内功,才是受益终生长久之计。认真看下去你会有收获的,我们一起来把docker的内功修练好。  在深入Docker内部的网络原理之前,我们先从一个用户的角度来直观感受一下Docker的网络架构和基本操作是怎么样的。 Docker网络架构  Docker在1.9版本中(现在都1.17了)引入了一整套docker network子命令和跨主机网络支持。这允许用户可以根据他们应用的拓扑结构创建虚拟网络并将容器接入其所对应的网络。  其实,早在Docker1.7版本中,网络部分代码就已经被抽离并单独成为了Docker的网络库,即libnetwork。在此之后,容器的网络模式也被抽像变成了统一接口的驱动。  为了标准化网络的驱动开发步骤和支持多种网络驱动,Docker公司在libnetwork中使用了CNM(Container Network Model)。CNM定义了构建容器虚拟化网络的模型。同时还提供了可以用于开发多种网络驱动的标准化接口和组件。  libnetwork和Docker