- 博客(7)
- 收藏
- 关注
转载 Java中Volatile关键字详解
一、基本概念先补充一下概念:Java 内存模型中的可见性、原子性和有序性。可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。 可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也就是...
2019-12-12 19:35:39
80
转载 分布式事物-TCC模型
一个TCC事务框架需要解决的当然是分布式事务的管理。关于TCC事务机制的介绍,可以参考TCC事务机制简介。TCC事务模型虽然说起来简单,然而要基于TCC实现一个通用的分布式事务框架,却比它看上去要复杂的多,不只是简单的调用一下Confirm/Cancel业务就可以了的。本文将以Spring容器为例,试图分析一下,实现一个通用的TCC分布式事务框架需要注意的一些问题。一、TCC全局事务必须...
2019-02-21 11:29:54
345
转载 单点登录
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞...
2019-02-19 09:35:15
104
原创 junit单元测试并发
@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {"classpath:applicationContext-native-test.xml"})@Slf4jpublic class JunitCurrencyTest{ private int threadCount = 5...
2018-08-21 15:05:42
2259
原创 单例模式
1.饿汉式 : 类加载的时候就创建了public class HungeryInstance{ private HungeryInstance(){} //类加载的时候就创建 private static HungeryInstance hgInstance = new HungeryInstance(); public static Hunger...
2018-08-21 14:46:15
125
转载 Junit使用GroboUtils进行多线程测试
写过Junit单元测试的同学应该会有感觉,Junit本身是不支持普通的多线程测试的,这是因为Junit的底层实现上,是用System.exit退出用例执行的。JVM都终止了,在测试线程启动的其他线程自然也无法执行。JunitCore代码如下:/** * Run the tests contained in the classes named in the <code>arg...
2018-05-10 13:48:21
177
转载 线程池使用
一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就是限制系统中执行线程的数量。 根据系...
2018-05-02 16:56:41
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人