微信公众号:运维开发故事,作者:老郑Redis 浮点数累计主要是有两个命令INCRBYFLOAT 是 SET 指令的浮点数累计HINCRBYFLOAT 是 HASH 类型的浮点数累计在内部 HINCRBYFLOAT 和 INCRBYFLOAT 自增实现相同。所以我们分析 INCRBYFLOAT 即可。基本使用直接使用指令INCRBYFLOAT mykey 0.1 INCRBYFLOAT mykey
微信公众号:运维开发故事,作者:老郑有一批量的数据,可以按照一个固定的 key 分组并发,但是要保证组内并行的处理。 比如:商城中,不同的用户可以并发下单,但是一个用户只能进行顺序的下单。在全局并发的场景下保证局部有序,保证最小事务单元操作的原子性。针对上面的场景我们可以通过 KeyAffinityExecutor (KeyAffinityExecutor 是一个可以按照指定的
微信公众号:运维开发故事,作者:老郑计算过程以下代码叫做 “扰动函数”//java 8 中的散列值优化函数static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);}理论上 hash 散列是一个 int 值,如果直接拿出
三色标记(Tri-Color-Marking)微信公众号:运维开发故事,作者:老郑垃圾收集器在并发标记的过程中,执行标记期间应用线程还在并行运行,对象间的引用关系时刻发生变化,垃圾收集器在标记过程中就容易发生多标和漏标(其实多标和漏标我们统称为误标)。针对这一问题我们通过 “三色标记 (Tri-Color-Marking)” 作为理论工具来辅助推导,将垃圾收集器遍历对象引用的过程中,“按照是否访问
微信公众号:运维开发故事作者:老郑在前一篇我们了解了 Spring IOC, Spring AOP 的强大,以及对我们编程范式,编程基础的影响。接下来我们一起来聊一下 Spring 基础概念。对于基础概念而言基本上都是属于那种字典类型的会有一定的枯燥程度,大佬文末见。BeanDefinition Bean 定义信息BeanDefinition 表示 Bean 的定义, BeanDefinition
微信公众号:运维开发故事,作者;老郑本文主要是对 Spring 的一个基本使用,建议阅读时间 5min。历史的选择Spring 作为一个基础的框架,是在 Java EE 开发历史中,是成千上万公司选择。单独使用 Spring 的非常少了,很多都是用 Spring-Boot/Spring-Cloud 来开发,但是 Spring 基础依然是我们使用的基石。我们将一起来聊一聊 Spring 的基本使用。
微信公众号:运维开发故事,作者:老郑线程池动态拓容创建线程池ThreadPoolExecutor taskExecutor = new ThreadPoolExecutor(8, 64, 5, TimeUnit.SECONDS, new LinkedBlockingQueue<>(256), new ThreadFactoryBuilder().setNameFormat("custo
微信公众号:运维开发故事,作者:老郑Dubbo 介绍Dubbo 是什么?介绍:Apache Dubbo 是一款微服务框架,为大规模微服务实践提供高性能 RPC 通信、流量治理、可观测性等解决方案,涵盖 Java、Golang 等多种语言 SDK 实现。 特征:RPC 通讯框架,服务注册中心,支持原生云(Dubbo3.0) 主流版本:2.7.x , 3.0 **SDK: **官
微信公众号:运维开发故事,作者:郑哥ZGC 概述Z Garbage Collector,也称为ZGC,在 jdk 11 中引入的一种可扩展的低延迟垃圾收集器,在 jdk 15 中发布稳定版。在旨在满足以下目标:< 1ms最大暂停时间(jdk < 16 是 10ms,jdk >=16 是 <1ms )暂停时间不会随着堆、live-set 或 root-set 的大小而增加适用
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号