效果如下...
今天来介绍一款工具Squaretest,它是一款自动生成单元测试的插件,为什么会用到它?主要因为最近公司上了代码质量管控的指标,会考评各个项目的单元测试覆盖率,以及sonar扫描出来的各种问题,很多老项目老代码,或者着急交付的项目,单元测试...
前言Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型带来的好处在没有泛...
递归的问题如题,我们可能或多或少的都听见过类似的话或者建议:尽量少使用递归操作,甚至干脆就不要使用递归操作。但我们在听到这句话的时候,是否会产生过疑问,为什么不建议使用递归操作呢?现在,我们就一起聊聊这个话题,看看递归到底会产生什么样的问题...
/** * 用于高精确处理常用的数学运算 */ public class ArithmeticUtils { //默认除...
java并发编程中,锁无处不在。java的容器框架中,也提供了满足各种场景的锁。但是,有一个共性就是,他们都是基于AbstractQueuedSynchronizer(AQS)。 下面,使用CAS和AQS实现一...
前面分析了AQS-ReentrantLock(重入锁),接着分析CountDownLatch(共享锁) CountDownLatch(共享锁)也是是同步工具类之一,可以指定一个计数值(count),在并发环境下...
Java除了使用关键字synchronized加锁外,还可以使用ReentrantLock实现独占锁的功能。而且ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景。...
单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。在并发编程中单例模式是否能真的能只创建一个对象呢?如何保障对象的唯一性?通过举例分析一下。一、饿汉式pub...
一、什么是CAS1.1、说明CAS的全称为:Compare And Swap,直译就是比较交换。是一条CPU的原子指令,其作用是让CPU先进行比较两个值是否相等,然后原子地更新某个位置的值,其实现方式是基于硬件平台的汇编指令,在intel的...