摘要: 1. 锁优化的思路和方法这里提到的锁优化,是指在阻塞式的情况下,如何让性能不要变得太差。但是再怎么优化,一般来说性能都会比无锁的情况差一点。这里要注意的是,在ReentrantLock中的tryLock,偏向于一种无锁的方式,因为在tryLock判断时,并不... 阅读全文
posted @ 2018-07-15 17:49 john8169 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 0. 前言与synchronized不同的是,Lock完全用Java写成,在java这个层面是无关JVM实现的。在java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock、ReadWriteLock(... 阅读全文
posted @ 2018-07-15 17:48 john8169 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 0. 前言目前在Java中存在两种锁机制:synchronized和Lock, Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea。本文并不比较synchronized与Lock孰优孰劣,只是介绍二者的实现原理。数据同步需... 阅读全文
posted @ 2018-07-15 17:47 john8169 阅读(883) 评论(0) 推荐(0) 编辑
摘要: public class ExceptionTypeTest { public void doSomething()throws ArithmeticException{ System.out.println(); ... 阅读全文
posted @ 2018-07-15 17:46 john8169 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 0. 前言在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁, 但是随着Java SE1.6对Synchronized进行了 各种优化 之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中 为了减少获得锁和... 阅读全文
posted @ 2018-07-15 17:44 john8169 阅读(168) 评论(0) 推荐(0) 编辑
摘要: Java偏向锁(Biased Locking)是Java6引入的一项多线程优化。它通过消除资源无竞争情况下的同步原语,进一步提高了程序的运行性能。偏向锁,顾名思义,它会偏向于第一个访问锁的线程,如果在接下来的运行过程中,该锁没有被其他的线程访问,则持有偏向锁... 阅读全文
posted @ 2018-07-15 17:43 john8169 阅读(1159) 评论(0) 推荐(0) 编辑
摘要: 0. 前言Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编码式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声... 阅读全文
posted @ 2018-07-15 17:42 john8169 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 0. 前言本教程将深入讲解 Spring 简单而强大的事务管理功能,包括编程式事务和声明式事务。 通过对本教程的学习,您将能够理解 Spring 事务管理的本质,并灵活运用之。1. Spring 事务属性分析事务管理对于企业应用而言至关重要。它保证了用户的每... 阅读全文
posted @ 2018-07-15 17:40 john8169 阅读(227) 评论(0) 推荐(0) 编辑