09 2022 档案

摘要:我在项目里面都是 Java 和 Groovy 混这写,之前逻辑是框架和工具类用 Java,脚本用 Groovy。但是随着时间推移,Groovy相对 Java 的优势过于明显,搞得自己把自己搞混乱了。其中遇到了一些兼容性问题,典型的就是 Java 的 function 和 Groovy closure 阅读全文
posted @ 2022-09-28 20:26 FunTester 阅读(73) 评论(0) 推荐(0) 编辑
摘要:之前说要写个 Go 语言版本的 Redis 操作 API 和性能测试的系列,没想到鸽了这么久才写了一半。实在实力不济,不仅需要多充充电,更需要结合实践,劳逸结合。首先来一个前文回顾: Go语言Redis API基本功能实践 2022-06-23 Redis API——List功能实践与性能测试【Go 阅读全文
posted @ 2022-09-21 18:21 FunTester 阅读(82) 评论(0) 推荐(0) 编辑
摘要:队列通常是软件设计模式中的基本组件。但是如果每秒接收到数百万条消息,改如何处理?如果多个消费者都需要能够读取所有消息,又改如何处理?难道需要把所有消息的数据都放在内存中吗?这样 JVM GC 又表现如何? 之前我写过几个流量回放模型: 基于时间戳的日志回放引擎 2022-08-22 千万级日志回放引 阅读全文
posted @ 2022-09-15 09:58 FunTester 阅读(70) 评论(0) 推荐(0) 编辑
摘要:今天分享 Java 对象序列化的不同方法,并对不同序列化方式的性能进行基准测试。 关于持久队列来讲,必须将 Java 堆内存的对象转换成文件中的二进制数据,对象序列化的性能将显著影响整体的性能表现。相当多的高性能框架都会在序列化和反序列化上下功夫优化性能。本文使用了开源框架 Chronicle Qu 阅读全文
posted @ 2022-09-09 14:05 FunTester 阅读(446) 评论(0) 推荐(0) 编辑
摘要:前段时间我关注了一篇文章,分享如果使用并发压测发现 BUG。突然想起一个话题: 线程不安全需要多少 QPS 压测才能发现 BUG ? 我接触到的并发缺陷绝大部分是因为线程安全问题导致的,还有一些数据库锁的问题(这个不擅长)这里就不分享了。 关于 Java 的一些线程安全的问题,可以参考旧文: 操作的 阅读全文
posted @ 2022-09-05 10:20 FunTester 阅读(19) 评论(0) 推荐(0) 编辑