简单理解批处理和流处理的区别

SOFAJRaft源码阅读(肆)-Netty时间轮算法的实践

SOFAJRaft的定时任务调度器是基于Netty来实现的,所以本文将会基于Netty时间轮算法,然后再结合SOFAJRaft源码进行分析。 @Author:Akai-yuan @更新时间:2023/1/29 1.HashedWheelTimer概览 一个时间轮算法的组成成分图: 一个基于Netty ......
算法 SOFAJRaft 源码 时间 Netty

Java JDK1.5: 泛型 新特性的讲解说明

Java JDK1.5: 泛型 新特性的讲解说明 每博一文案 听到过这样一句话:“三观没有标准。在乌鸦的世界里,天鹅也有罪。” 环境、阅历的不同,造就了每个人独有的世界观、人生观、价值观。 三观并无对错高下,只有同与不同。恰如飞鸟不用和游鱼同行,高山不必同流水相逢。 总用自己的尺子去度量别人,无疑是 ......
特性 Java JDK1 JDK

下一代编解码技术Ali266在视频超高清领域的应用展望

超高清与各领域的需求融合和创新正在发生。 2022年是一个体育大年,众多世界级体育赛事通过视频直播、转播等形式给观众带来畅爽的观看体验。 2022年北京冬奥会,实现了奥运会历史上首次赛事全程4K制作播出,并在开幕式上提供了8K超高清公共信号,让观众可以享受到超高清视频带来的更加清晰、真实和沉浸的比赛 ......
下一代 高清 领域 技术 视频

SOFAJRaft源码阅读-RheaKV的初始化与Multi-RAFT-GROUP模式

SOFAJRaft的SOFAJRaft-RheaKV 是基于 SOFAJRaft 和 RocksDB 实现的嵌入式、分布式、高可用、强一致的 KV 存储类库。SOFAJRaft-RheaKV 集群主要包括三个核心组件:PD,Store 和 Region。 @Author:Akai-yuan @更新时 ......

RocketMQ Streams 1.1.0: 轻量级流处理再出发

作为一套全新的流式处理框架,RocketMQ Streams 如何实现流计算拓扑图构建呢?一起来了解下它的实现原理以及数据流转过程和过程中的状态变化吧~ ......
轻量 轻量级 RocketMQ Streams

[数据结构] 树、二叉树、森林的转换

#树 ##树的表示方法 ###双亲表示法 用一组地址连续的存储单元来存放树中的各个节点,每一个节点中有一个数据域和一个指针域,数据域用来存储树中该节点本身的值;另一个指针域用来存储该节点的双亲节点在存储结构中的位置信息。 采用双亲链表存储方式实现查找一个指定节点的双亲节点比较方便,但难以实现查找一个 ......
数据结构 森林 结构 数据

写完这款工作流组件,我的发际线又高了...

前段时间因业务需要完成了一个工作流组件的编码工作。借着这个机会跟大家分享一下整个创作过程,希望大家喜欢,组件暂且命名为"easyFlowable"。 接下来的文章我将从什么是工作流、为什么要自研这个工作流组件、架构设计三个维度跟大家来做个整体介绍。 ......
发际 工作流 组件

【大型软件开发】浅谈大型Qt软件开发(四)动态链接库的宏冲突问题、COM组件开发的常见问题

最近工作的时候有一个链接库的对接工作,在对接时发生了一些小问题,这篇FAQ是办公室写这个库的工程师戴工写的,这里记录一下: 一、编译工程时报链接错误“不允许dllimport静态数据成员的定义” 1.错误截图 2.错误原因分析 此错误是Q_OBJECT和Q_DECL_IMPORT宏共同作用时产生的结 ......

给服务端小白的一些建议

一、技术 看视频教程入门(B站即可),看书深入,最重要的是实践。 二、怎么提问 很多新人不知道怎么提问,问了太简单的问题怕被人鄙视,更重要的是不知道问题是否简单。 其实也没有那么严格,程序员还是很愿意帮人解决问题的,可以装一下13并且很有成就感。 值得注意的是: 这个问题百度、谷歌是否有答案,对着教 ......
建议

认知篇:CQRS架构模式的本质

CQRS只是一种非常简单的模式(pattern),CQRS本身并不是一种架构风格,和最终一致性/消息/读写分离/事件溯源/DDD等没有必然的联系,它最大优势是给我们带来更多的架构属性选择 ......
架构 本质 模式 CQRS

一种基于图片搜索视频的方案

随着移动互联网发展,手机端购物已成为人们生活的常态。人们在搜索商品时采用的手段也越来越丰富,当前的主要搜索方式是文本搜索与拍照搜索。 ......
图片搜索 方案 图片 视频

Redis缓存的主要异常及解决方案

作者:京东物流 陈昌浩 1 导读 Redis 是当前最流行的 NoSQL数据库。Redis主要用来做缓存使用,在提高数据查询效率、保护数据库等方面起到了关键性的作用,很大程度上提高系统的性能。当然在使用过程中,也会出现一些异常情景,导致Redis失去缓存作用。 2 异常类型 异常主要有 缓存雪崩 缓 ......
缓存 解决方案 方案 Redis

如何实现千万级优惠文章的优惠信息同步

金融社区优惠文章是基于京东商城优惠商品批量化自动生成的,每日通过不同的渠道获取到待生成的SKU列表,并根据条件生成优惠文章。 但是,生成优惠文章之后续衍生问题:该商品无优惠了,对应文章需要做取消推荐或下架处理,怎样能更快的知道该商品无优惠了呢? ......
文章 信息

支付对接常用的加密方式介绍以及java代码实现

金融场景里如何让收银和支付更安全?背后的基础原件是加密方式的设计架构。本文重点讲解在京东金融中,我们如何用Java来实现支付加密。 ......
常用 代码 方式 java

【Rust学习】内存安全探秘:变量的所有权、引用与借用

Rust 语言由 Mozilla 开发,最早发布于 2014 年 9 月,是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言。 ......
变量 所有权 内存 Rust

【.NET 8】ASP.NET Core计划 - 支持更完善的AOT发布

.NET7.0刚发布不久,.NET社区开始了.NET8.0的开发,重心重新回到了新功能的迭代。 我们知道在.NET7.0中一个令人激动的特新就是支持了NativeAOT,我们可以通过NativeAOT生成本机程序,由于无需JIT编译,所以无需安装.NET Runtime,也进一步的提升了.程序的启动 ......
NET Core ASP AOT

最容易懂的策略模式消除if-else分支,实现开闭原则,提高可扩展性

1 介绍 策略模式最常用的场景就是用于消除代码中的if-else,这里所说的if-else并不是说任何简单的判断都引入策略模式来优化,这样反而会增加代码的复杂度。 反例:使用策略模式对一个boolean类型的变量进行优化 2 背景 我负责的有一个基于流程引擎开发的项目,有一个功能模块是查看申请单的详 ......
可扩展性 易懂 分支 原则 策略

Netty Protobuf处理粘包分析

背景 最近消息中间件项目进行联调,我负责Server端,使用Java的Netty框架。同事负责Client端,使用Go的net包,消息使用Protobuf序列化。联调时Client发送的消息Server端解析出错,经过分析发现是Server与Client粘包处理方式不一致导致,Server使用的是P ......
Protobuf Netty

多云监控告警系统的优势

前一篇文章基于多云构建监控告警系统讲了我们是如何构建多云监控告警的,监控告警系统的基础数据来源于云上,也就是说我们监控系统里所有用到的基础数据云上都有,既然如此,为什么不直接去云控制台上查看,而是要构建自己的监控告警系统呢?这篇文章我们就来聊下这个话题 之所以会基于多云构建我们自己的监控告警系统,有 ......
优势 系统

【LeetCode字符串#03】图解翻转字符串中的单词,以及对于for使用的说明

翻转字符串中的单词 力扣题目链接(opens new window) 给定一个字符串,逐个翻转字符串中的每个单词。 示例 1: 输入: "the sky is blue" 输出: "blue is sky the" 示例 2: 输入: " hello world! " 输出: "world! hel ......
字符串 字符 单词 LeetCode for

这一年我们上线的自动化系统

新年之初我就写了篇文章2022,房车使用这一年总结过去一年的日常生活,2022年除了认真的生活之外,在工作上也有了不小的变化,首先是2021年底从工作了近10年的公司离职,在2022年的第一个工作日就入职了新公司,算是无缝衔接,在新公司的这一年主要负责运维自动化的规划、开发及推动落地,挑战很大,尤其 ......
系统

Linux环境下:程序的链接, 装载和库[静态链接]

看以下例子 main.c extern int x; int main() { int y = 100; swap(&x,&y); return 0; } int x = 1; void swap(int* x, int* y) { int temp = *x; *x = *y; *y = temp ......
链接 静态 环境 程序 Linux

【Oculus Interaction SDK】(五)设置不同的抓握手势

前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完 SDK 又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章 ......
Interaction Oculus SDK

【Oculus Interaction SDK】(三)限制可操作物体的移动 / 旋转

前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完 SDK 又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章 ......
物体 Interaction Oculus SDK

R数据分析:孟德尔随机化中介的原理和实操

中介本身就是回归,基本上我看到的很多的调查性研究中在中介分析的方法部分都不会去提混杂,都是默认一个三角形画好,中介关系就算过去了,这里面默认的逻辑就是前两步回归中的混杂是一样的,计算中介效应的时候就自动消掉了。 但是,实际上对不对,还是有待具体分析的: Traditional, non-instru ......
数据分析 原理 中介 数据

DevExpress 的LayoutControl控件导致资源无法释放的问题处理

现象记录 前段时间同事发现我们的软件在加载指定的插件界面后,关闭后插件的界面资源不能释放, 资源管理器中不管内存,还是GDI对象等相关资源都不会下降。 问题代码 问题的代码大概如下。 public void LoadPluginUI(string pluginID) { this.Control.C ......

发布并部署NCF站点的那些事

简介 开工第一天,祝大家2023年钱兔无量,技术兔飞猛进 为更加方便大家一站式打通所有使用NCF的环节,在新年开工的第一天给大家带来如何发布最新版本的站点 无论你的网站在开发环境做的多么的炫酷,实用,最终都是要拉出来遛遛的,所以上测试环境,正式环境,使用云服务器是必经之路 这一节就是主要帮助大家排除 ......
站点 NCF

RocketMQ消息短暂而又精彩的一生

大家好,我是三友~~ 这篇文章我准备来聊一聊RocketMQ消息的一生。 不知你是否跟我一样,在使用RocketMQ的时候也有很多的疑惑: 消息是如何发送的,队列是如何选择的?消息是如何存储的,是如何保证读写的高性能?RocketMQ是如何实现消息的快速查找的?RocketMQ是如何实现高可用的?消 ......
RocketMQ 一生 消息

如何在 pyqt 中使用动画实现平滑滚动的 QScrollArea

前言 在之前的博客《如何在 pyqt 中实现平滑滚动的 QScrollArea》中,我们使用定时器和队列实现了平滑滚动。但是实现代码还是有一点复杂,所以这篇博客将使用 Qt 的动画框架 QPropertyAnimation 来实现相同的功能。 实现过程 SmoothScrollBar 滚动过程其实就 ......
QScrollArea 动画 pyqt

真正“搞”懂HTTP协议06之body的玩法(实践篇)

我真没想到这篇文章竟然写了将近一个月,一方面我在写这篇文章的时候阳了,所以将近有两周没干活,另外一方面,我发现在写基于Node的HTTP的demo的时候,我不会Node,所以我又要一边学学Node,一边百度,一边看HTTP,最后百度的东西百分之九十不能用,所以某些点就卡的我特别难受。 比如最后的分段 ......
实践篇 玩法 HTTP body