之前使用了JDK自带的 Map 实现了自定义限速的简单需求。在当时的实现当中,有一个被隐藏的小设计,就是如果是用使用异步线程,用来根据配置给请求次数数据重置。如此这样,校验方法会非常简单方便。 对于普通 Java 项目来说,如果使用异步线程处理,除了 deamon 进程以外,其他实现的确有点麻烦。即使 deamon 线程也很难做到完全的实用性,所以才使用了上篇文章的实现方案。 之前提到过一个非常有
简介 JDK 14引入了记录,这是一种新的类型声明。像 enum 一样,记录是类的受限形式。它非常适合于纯数据载体,即包含不打算更改的数据并且只包含最基本的方法(如构造函数和访问函数)的类。 注意:这是一个预览功能,它的设计、规范和实现都是完整的,但不是永久性的,这意味着该功能可能以不同的形式存在,或者在未来的JDK版本中根本不存在。若要编译和运行包含预览功能的代码,必须指定其他命令行选项。 下面
本文提供了一个结构化的方法来创建和更新回归测试套件。回归测试套件应包含哪些类型的测试?应该运行哪些回归测试?如何应对回归测试失败?回归测试套件如何演变?这些问题以及其他考虑因素都会逐步探讨。 首先探讨回归测试的基本动态和考虑因素。 回归测试的基本原理 假设研发对软件代码进行了一些更改,任何类型的更改。我们如何确信这些更改不会对我们的代码产生负面影响呢?实现信心的一种方式是进行彻底的回归测试。编写并
前文分享了几种性能测试中常用到的生成全局唯一标识的案例,虽然在文中我猜测了几种方案设计的性能,并根据自己的经验给出了适用的场景。 但对于一个性能测试工程师来讲,有真是测试数据才更有说服力。这让我想起来之前学过的Java微基准测试框架 JMH ,所以不妨一试。 JMH简介 JMH (Java Microbenchmark Harness)是一个用于编写和运行Java基准测试的工具。它被广泛用于评估J
前文讲到自定义对象池的实现,通常来说都是获取到对象,使用完之后要主动归还对象。但是在某些场景下,并不能轻易在代码中调用 returnObject 方法归还。此时就需要 Case by Case 具体情况具体分析,解决了。 今天分享一下自定义对象池在本地高性能缓存框架 Caffeine 中的使用。从对象池中借出的对象会存放在 Caffeine 缓存当中,然后就需要依赖 Caffeine 自己的过期和
在性能测试场景中,生成全局唯一标识符(GUID)是一个常见的需求,主要用于标识每个请求或者事务,以便于追踪和分析。这是因为在性能测试中,需要对系统的各个功能进行测试,而每个功能都需要有一个唯一的标识来区分。如果不使用全局唯一标识,则可能会出现重复标识的情况,导致测试结果不准确。 相信对于性能测试er来讲这些并不陌生,特别在并发场景中使用各类的解决方案。我最近在研究 Go 语言线程安全问题的时候也被
本来不打算写这个题目的,因为 Druid 大多都是在 Spring 中使用的,它很多功能非常强大,但是对于 MySQL 性能测试中并不实用。但是由于特殊原因,还是得把这个拾起来。 在以前的性能测试的过程当中,我通常会采用 线程绑定连接 的方式进行测试,毕竟也用不到很多线程,再不济我就用 common-pool2 自己写一个。但是考虑到稳定性测试当中,持续时间非常久,自定义的功能缺少自愈能力,最终还
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号