我在项目里面都是Java和Groovy混这写,之前逻辑是框架和工具类用Java,脚本用Groovy。但是随着时间推移,Groovy相对Java的优势过于明显,搞得自己把自己搞混乱了。其中遇到了一些兼容性问题,典型的就是Java的function和Groovyclosure之间的兼容性问题。Javafunction包里面很非常多实现类,其中主要区分的返回和参数个数,然后有很多具体返回和参数类型的实现
之前说要写个Go语言版本的Redis操作API和性能测试的系列,没想到鸽了这么久才写了一半。实在实力不济,不仅需要多充充电,更需要结合实践,劳逸结合。首先来一个前文回顾:Go语言RedisAPI基本功能实践(https://mp.weixin.qq.com/s/9EgEVVlFNP91hYiDpeKw)20220623RedisAPI——List功能实践与性能测试【Go版】(https://mp.
队列通常是软件设计模式中的基本组件。但是如果每秒接收到数百万条消息,改如何处理?如果多个消费者都需要能够读取所有消息,又改如何处理?难道需要把所有消息的数据都放在内存中吗?这样JVMGC又表现如何?之前我写过几个流量回放模型:基于时间戳的日志回放引擎(https://mp.weixin.qq.com/s/cdvlYc5W0sI72VTqlRtIjA)20220822千万级日志回放引擎设计稿(htt
今天分享Java对象序列化的不同方法,并对不同序列化方式的性能进行基准测试。关于持久队列来讲,必须将Java堆内存的对象转换成文件中的二进制数据,对象序列化的性能将显著影响整体的性能表现。相当多的高性能框架都会在序列化和反序列化上下功夫优化性能。本文使用了开源框架ChronicleQueue提供的能力进行序列化和反序列化对比测试。数据传输对象在本文中,我用一个对象类FunData,作为DataTr
前段时间我关注了一篇文章,分享如果使用并发压测发现BUG。突然想起一个话题:线程不安全需要多少QPS压测才能发现BUG?我接触到的并发缺陷绝大部分是因为线程安全问题导致的,还有一些数据库锁的问题(这个不擅长)这里就不分享了。关于Java的一些线程安全的问题,可以参考旧文:操作的原子性与线程安全(https://mp.weixin.qq.com/s/QU3llkGLepX2VCch8Y9GKw)20
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号