06 2015 档案

摘要:## springmore-core#### spring+ibatis实现读写分离* 特点无缝结合spring+ibatis,对于程序员来说,是透明的 除了修改配置信息之外,程序的代码不需要修改任何东西支持spring的容器事务* 规则: 1. 基于spring配置的容器事务 2. 读写事务到主库... 阅读全文
posted @ 2015-06-25 23:20 风过无痕的博客 阅读(3490) 评论(1) 推荐(0) 编辑
摘要:github地址:https://github.com/tangyanbo/springmore#### FTPUtil该工具基于org.apache.commons.net.ftp.FTPClient进行封装###### ftp配置文件信息:默认路径为classpath:ftpConfig.pro... 阅读全文
posted @ 2015-06-25 15:35 风过无痕的博客 阅读(6208) 评论(0) 推荐(0) 编辑
摘要:这是我多年项目的总结,并将其抽象出来,形成一个开源的项目部分借鉴springside,将更多的实践总结进来基于spring+ibatis+springMVCspringmore-core专注于一些核心的应用,目前是读写分离组件springmore-commons实用工具类如:StringUtil,F... 阅读全文
posted @ 2015-06-23 10:31 风过无痕的博客 阅读(2148) 评论(1) 推荐(5) 编辑
摘要:特点: 将桶分段,并在某个段上加锁,提高并发能力 源码分析: V put(K key, int hash, V value, boolean onlyIfAbsent) { lock(); try { int c = count; if (c++ > threshold) // ensu... 阅读全文
posted @ 2015-06-05 11:34 风过无痕的博客 阅读(355) 评论(0) 推荐(0) 编辑
摘要:CopyOnWriteArrayList原理 首先每次写操作,都将数组copy一份,并赋值给arrays 读操作读不加锁 写操作加锁 ReentrantLock 因为每次写都要copy数组,这是一项繁重的操作,因此 CopyOnWriteArrayList适合读多写少的情况。 add方法的源码如下: public boolean add(E e) { final ReentrantLock... 阅读全文
posted @ 2015-06-05 11:08 风过无痕的博客 阅读(282) 评论(0) 推荐(0) 编辑
摘要:CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术。简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替换当前变量的值 Unsafe用法: 作用,如果当前值和期望值相等,则将当前值更新为新的值X,并返回true 否则什么都不做,返回false return unsafe.compareAndSwapIn... 阅读全文
posted @ 2015-06-02 09:55 风过无痕的博客 阅读(346) 评论(0) 推荐(0) 编辑
摘要:代码示例: Lock lock = new ReentrantLock(); lock.lock(); try { // update object state } finally { lock.unlock(); } 相比synchronized的优势 1.具有更好的并发性能,激烈争用情况下更佳的性能 2.添加了类似锁投票、定时锁等候和可中断锁等候的一些特性 源码分析: 点击lock方... 阅读全文
posted @ 2015-06-01 17:54 风过无痕的博客 阅读(245) 评论(0) 推荐(0) 编辑
摘要:概述 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。 操作流程 ... 阅读全文
posted @ 2015-06-01 14:47 风过无痕的博客 阅读(288) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示