一、需求背景 1、自动化测试:一个自动化测试脚本有成千上万条用例,每次执行的时间在小时级别,leader说为了能先于用户知道线上的问题,能否加快脚本的执行速度 2、功能测试:不使用jmeter等工具,使用junit5实现来测试接口是否存在线程安全以及分布式线程安全问题,是否有做幂等性处理 二、解决方 ...
分类:
其他好文 时间:
2021-07-12 17:52:37
阅读次数:
0
1. 线程安全 排它锁用于确保同一时间只允许一个线程执行指定的代码段。主要的两个排它锁构造是lock和Mutex(互斥体)。其中lock更快,使用也更方便。而Mutex的优势是它可以跨进程的使用。 lock 排他锁 class ThreadUnsafe { static int _val1 = 1, ...
分类:
编程语言 时间:
2021-06-30 18:15:34
阅读次数:
0
java特性和优势 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 Java为什么能成功(Write Once,Run Anywhere) java是纯面向对象编程的语言; 跨平台 (一次编译,到处运行;Write Once,Run Anywhere); java提供了许 ...
分类:
编程语言 时间:
2021-06-28 19:14:20
阅读次数:
0
粗谈Java Java特性和优势 简单性 面向对象 可移植性(Write Once,Run Anywhere) 高性能 分布式 动态性 多线程 安全性 健壮性 Java三大版本 JavaSE 标准版 主要用于桌面程序,控制台等的开发 JavaME 微型版 手机、小家电 JavaEE 企业版 web端 ...
分类:
编程语言 时间:
2021-06-25 16:40:48
阅读次数:
0
##Java特性和优势 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 ##Java三大版本 Write once、 Run Anywhere JavaSE标准版(桌面程序,控制台开发...) JavaME:嵌入式开发(手机,小家电...) JavaEE企业级开发(web ...
分类:
编程语言 时间:
2021-06-24 17:30:24
阅读次数:
0
单例模式 饿汉:在定义instance时new对象 懒汉:在getInstance方法里new对象,默认getInstance方法不是线程安全的,需要加synchronized修饰符保证线程安全 应用示例:java.lang.Runtime对象 多例模式 应用示例:数据库连接池 ...
分类:
其他好文 时间:
2021-06-20 17:37:32
阅读次数:
0
与其他编程语言一样在并发环境下如不对多个goroutine(线程)访问或修改的共享资源元素的进行控制,让进入临界区的对象互斥。就可能会出现数据异常情况; 一个非线程安全对象如下,如不对Id的访问进行控制,多个goroutine进行更新Id字段是就会出现数据不一致的情况,如下示例: type Conf ...
分类:
其他好文 时间:
2021-06-19 19:07:27
阅读次数:
0
StringBuffer 和 StringBuilder 都继承于 AbstractStringBuilder类。然而StringBuffer 是线程安全的,StringBuillder是线程不安全的 先来了解下StringBuillder为啥线程不安全的 。 如果我们循环创建10个线程,并且每个线 ...
分类:
其他好文 时间:
2021-06-17 16:50:59
阅读次数:
0
1 从CopyOnWriteArrayList谈等效不可变对象在源码中的应用 CopyOnWriteArrayList的源码中应用了等效不可变对象。使得集合在遍历操作的时候,不用加锁也能保证线程安全。 1.1 CopyOnWriteArrayList Source Code public class ...
分类:
其他好文 时间:
2021-06-10 18:38:35
阅读次数:
0
? 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性。ThreadLocal是除了加锁这种同步方式之外的另一种保证多线程访问时线程安全的方法,当我们在创建一个变量后,如果每个线程 ...
分类:
其他好文 时间:
2021-06-07 21:13:52
阅读次数:
0