摘要: 1. 我们通过接口操作数据库时,发现相关的操作都是在org.apache.ibatis.binding下 从sqSessin 获取getMapper() binging 包结构 可以发现binding 包输入mybatis 下面,是mybatis 的核心文件。这个包中包含有四个类: 在sqlSess 阅读全文
posted @ 2017-03-21 18:14 qtyy 阅读(1545) 评论(0) 推荐(0) 编辑
摘要: 1、 sqlSessionHolder 是位于mybatis-spring 包下面,他的作用是对于sqlSession和事务的控制 sqlSessionHolder 继承了spring的ResourceHolderSupport 2 、在前面讲解到,sqlSessionTemplate 操作数据库实 阅读全文
posted @ 2017-03-21 09:16 qtyy 阅读(5510) 评论(1) 推荐(4) 编辑
摘要: 1. 在创建好sqlSessionFactory之后,接着就要配置sqlSession的创建。 构造参数,包括sqlSessionFactory对象,以及ExecutorType(simple) 2. sqlSession接口 我们的应用程序,是直接注入sqlSessionTemplate ,操作数 阅读全文
posted @ 2017-03-20 21:33 qtyy 阅读(1373) 评论(0) 推荐(0) 编辑
摘要: 1. 首先了解一下mybatis,包含核心jar ,以及spring相关jar. 系列的文章也是mybatis 3.3.0和mybatis-spring1.2.3分析 mybatis jar包中只要包含mybaits的核心业务sqlsession,sqlsessionFactory,configur 阅读全文
posted @ 2017-03-20 20:28 qtyy 阅读(2987) 评论(0) 推荐(0) 编辑
摘要: 兴趣所致,上代码: 分析 DCL(Double check lock)添加volatile 修饰的原因: 首先分析,创建对象的过程,实例化对象一般分为三个过程。 1、分配内存空间。 2 、初始化对象。 3 、将内存空间地址赋值给对象的引用。 但是由于重排序的缘故,步骤2、3可能会发生重排序,其过程如 阅读全文
posted @ 2017-03-16 21:41 qtyy 阅读(1124) 评论(0) 推荐(0) 编辑
摘要: 1. mybatis (SqlSessionTemplate)的动态代理 a) sqlSession的结构 b)SqlSession 结构 2.没有事务:切换数据源(成功切换数据源) a)代理对象执行目标时,切换数据源时 (栈结构) b) 在DataSourceUtils 中,判断conHolder 阅读全文
posted @ 2017-03-15 17:18 qtyy 阅读(1086) 评论(0) 推荐(0) 编辑
摘要: 以apache-tomcat-7.0.57 为例子 tomcat的默认配置如下: 默认的线程池为: maxThreads: maxThreads="500" 表示最多同时处理200个连接,Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。 accep 阅读全文
posted @ 2017-03-13 16:40 qtyy 阅读(1235) 评论(0) 推荐(0) 编辑
摘要: 这是第二次分析concurrentHashMap 先回顾一下 1.concurrentHashMap是在jdk1.5版本之后推出的,位于java.util.concurrent包中。 2.基于HashMap 对于多线程并发操作不安全,以及HashMap 效率低,才推出分段锁机制concurrentH 阅读全文
posted @ 2017-03-03 14:22 qtyy 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 内存泄漏问题产生原因 长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这就是java中内存泄露的发生场景,通俗地说,就是程序员可能创建了一个对象,以后一直不再使用这个对象,这个对象却一直被引用,即这个对 阅读全文
posted @ 2017-03-02 17:26 qtyy 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 首先解读Java内存模型(这里区别于JVM的内存模型,堆、栈、工作区) Java 内存模型来屏蔽掉各种硬件和操作系统的内存差异,达到跨平台的内存访问效果。JLS(Java语言规范)定义了一个统一的内存管理模型JMM(Java Memory Model) Java内存模型规定了所有的变量都存储在主内存 阅读全文
posted @ 2017-03-01 21:31 qtyy 阅读(20651) 评论(0) 推荐(2) 编辑
摘要: 业务描述: 首先从数据中查找最近的一条订单数据,然后将之前的订单号码+1作为新的订单号码,插入到数据库当中。(需求不能改变) 当出现并发操作时,A从数据库中获取最近一条订单的订单号为N,这是A还没有完成新订单的插入操作。B用户进来,也获取最近一条订单的订单号为N,这是A和B 想数据库同事插入的订单就 阅读全文
posted @ 2017-03-01 13:45 qtyy 阅读(10684) 评论(0) 推荐(0) 编辑
摘要: springIOC 作用 springIOC 是sprig的特性。称作控制反转。将对象的创建,初始化,销毁,交给spring容器管理。 原理 在spring容器启动的时候,通过反射的方式,主动加载(或者延迟加载)我们主动配置的bean,已经bean的依赖对象。 好处 在不同的业务之间的相互调用,我们 阅读全文
posted @ 2017-02-28 20:41 qtyy 阅读(305) 评论(0) 推荐(0) 编辑
摘要: aop简介 aop是spring 的两大特性之一,还有IOC。主要提供面向切面的编程思想,区分于面向对象编程。 aop原理(动态代理+反射) 在一个方法体中,可能会存在很多其他的方法调用,我们可以把每一次的方法调用称作连接点。对于我们在表达式中配置的目标连接点,我们叫做切入点。每一个切入点的执行,我 阅读全文
posted @ 2017-02-27 22:34 qtyy 阅读(304) 评论(0) 推荐(0) 编辑
摘要: HashMap在Java开发中有着非常重要的角色地位,每一个Java程序员都应该了解HashMap。 本文主要从源码角度来解析HashMap的设计思路,并且详细地阐述HashMap中的几个概念,并深入探讨HashMap的内部结构和实现细节,讨论HashMap的性能问题,并且在文中贯穿着一些关于Has 阅读全文
posted @ 2017-02-23 21:20 qtyy 阅读(371) 评论(0) 推荐(0) 编辑
摘要: Redis对于Linux是官方支持的,安装和使用没有什么好说的,普通使用按照官方指导,5分钟以内就能搞定。详情请参考: http://redis.io/download 但有时候又想在windows下折腾下Redis,可以从redis下载页面看到如下提示(在页面中搜索 "windows"): 大意就 阅读全文
posted @ 2017-02-23 17:46 qtyy 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 先来看问题 纠结了几个小时终于找到了问题所在,因为shiro的realm属于Filter,简单说就是初始化realm时,spring还未加载相关业务Bean,那么解决办法就是将springmvc的配置文件加载提前。 解决办法 打开web.xml文件 OK,问题解决! 解决方式2(不建议) 通过手动的 阅读全文
posted @ 2017-02-20 18:01 qtyy 阅读(3447) 评论(0) 推荐(0) 编辑
摘要: 什么是远程调试,就是在A机器上利用Eclipse单步跟踪调试B机器上的Web应用,当然调试A机器上Web应用也是没有问题的,90%我都是调试本机的Web应用,远程调试的意义我想我不用说了,大家都会想到它的好处,你可以在本地调试非本地测试环境上的应用,这是件多么美妙的事,所以我就不说它的好处了,那么本 阅读全文
posted @ 2017-02-15 10:51 qtyy 阅读(5368) 评论(0) 推荐(0) 编辑
摘要: 1. 添加maven依赖。pom.xml 中添加jar文件 3. 配置任务调度。编写 applicationContext-quartz.xml 配置文件 4. 如何配置quartz(随spring启动)执行一次 参考:http://blog.csdn.net/juan0728juan/articl 阅读全文
posted @ 2017-02-08 14:55 qtyy 阅读(28856) 评论(0) 推荐(0) 编辑
摘要: 以spring mvc 为例子 spring mvc 的Controller类默认Scope是单例(singleton) 测试结果发现spring3中的controller默认是单例的,若是某个controller中有一个私有的变量i,所有请求到同一个controller时,使用的i变量是共用的,即 阅读全文
posted @ 2017-01-12 16:32 qtyy 阅读(795) 评论(0) 推荐(0) 编辑
摘要: HttpClient是个开源框架,封装了访问http的请求头,参数,内容体,响应等等, HttpURLConnection是java的标准类,什么都没封装,用起来太原始,不方便 HttpClient实际上是对Java提供方法的一些封装, 在HttpURLConnection中的输入输出流操作, 在这 阅读全文
posted @ 2017-01-11 09:57 qtyy 阅读(2544) 评论(0) 推荐(0) 编辑