51CTO博客开发
在进行多事务,并发读写的管理时,Mysql的InnoDB引擎采用的是Multiversion Concurrency Control机制,MVCC机制也被其他数据库所采用。每种引擎实现MVCC机制的具体细节不同,但大体思想类似。因此了解其思想,结合场景去应用。 1、MVCC机制是行级锁的一种妥协,多线程事务读取时,避免使用锁,而是采用一种更小的开销,允许非阻塞读取
在解决并发性读取的问题上,有一种模式叫做Copy On Write,基本思想就是以空间换时间。Mysql中RethinkDB的B-tree索引数据结构就是采用copy-on-write,Java类中的CopyOnWriteList也是对应模式的List实现。这里讲解一下常用的CopyOnWriteList,学习其思想,可以应用到类似的场景。 传统的ArrayL
问题就是:无论是多个dao使用一个SqlSessionTemplate,还是一个dao使用一个SqlSessionTemplate,SqlSessionTemplate都是对应一个sqlSession,当多个web线程调用同一个dao时,它们使用的是同一个SqlSessionTemplate,也就是同一个SqlSession,如何保证线程安全,关键就在于代理: (1)首先,通过如下代
Mybatis-Spring是将Mybatis和Spring进行融合的一个中间层插件,将Mybatis的一些工作交给Spring去做,主要包括SqlSessionFactory的创建、SqlSession的管理、事务管理以及异常的转化。这里需要注意一点就是Spring3.0支持iBatis2,但是不支持Mybatis3,因此才出现Mybatis-Spring,以后如果兼容了,可能也不会
Mybatis的核心在于三部分:jdbc传入参数和结果与java类型之间的转换,动态SQL的生成,数据库连接和事务的管理 Mybatis的配置和hibernate类似,包括两种:基于注解和基于xml文件,前者可以做到无配置,但是缺点是不够灵活,xml文件的方式更加灵活,可以满足所有情况,因此还是将主要精力放在xml的方式上。 1、Mybatis的主要流程和核心概念之间的关系
Mybatis入门学习手册 Mybatis与Spring的结合 Mybatis核心在于sql,参数传入和返回结果的处理
阅读了《Maven in action》迷你版,共四章,一下午就可看完,推荐作为入门级资料 1、maven安装 maven的三条最佳实践: (1)配置MAVEN_OPTS=-Xms128m -Xmx512m,maven运行需要java环境,不指定堆内存则使用java默认内存大小,项目如果过大,则默认内存不足容易溢出; (2)使用用户级别的配置文件/home/xxx/.m2/settings
1、tar tar -zxvf 解压缩tar.gz文件 tar -cf ABC.tar ABC 压缩文件夹ABC tar -xvf ABC.tar 解压ABC.tar 2、查看ip端口是否可以连接 nc -v -w 10 -z IP PORT 3、查看进程 ps -aux | grep svn 4、查看端口监听情况 netstat -ntlp 5、rc.local加入语句不执行
参考文章:http://www.infoq.com/cn/articles/cf-java-generics 1、Java泛型是Java5以后才出现的特性,主要是为了代码重用的同时在编译器来避免类型转换问题。泛型的存在的意义在于类型替换,和禁止一些可能出现类型转换问题的编码,在编译期就报错 2、Java源代码首先通过编译得到class字节码文件,然后在jvm中运行。java cla
C语言编程中通过返回值来判断程序是否运行正常。而Java设计了一套异常机制来处理程序运行过程不正常的情况,这点非常重要,只有了解这一点,才能判断什么时候该抛异常,抛出什么异常,异常什么时候该被处理。 1、Java异常的相关语法 try-catch-finally,throw,throws 2、Java异常的分类 Java通过Exception类创建一套异常体系,定义了一系列有语
(1)序列化和反序列化其实就是对象和字节之间的转换。IO之间进行数据传输,无论是网络IO,还是文件IO,都是以字节为单位。而对象要想传输就必须首先转化为字节序列进行传输,接收端从字节序列中反序列化得到对象。常见的应用就是网络编程中传输对象,文件系统中直接将对象信息保存在文件中,还有就是顶顶大名的RMI技术,其实就是调用远程对象的方法,这就涉及到对象的传输,其核心思想就是基于序列化机制。
1、Pattern源代码 (1)matcher()函数的作用是编译已有的正则表达式,然后返回对应序列的匹配器,其涉及到的同步机制:volatile和synchronized的使用,单例模式常用到的DCL的问题,互斥和可见性。这篇博客解释得很好:http://www.ibm.com/developerworks/cn/java/j-jtp06197.html,原理性强点的http://
1、概括 (1)String之所以是不可修改的,其实在于类是final,不可继承,所有变量也是final,一旦初始化就不能更改。所以一些关于String的操作,返回的都是新的String对象 (2)从String源代码发现一个以前认识的误区,以前认为private限制成员的访问,A对象不能访问B对象的私有变量,这是错误的。访问限制是在编译时就已经检查了,因此只能针对类而言,对象是在运行时才会创
HttpClient学习 (1)下面列举几个主要的Http相关概念的类 类名 描述 HttpClient 建立请求客户端 HttpGet
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号