13、PushbackInputStream和StreamTokenizer的源码分析和使用方法详细分析
一、PushbackInputStream源码——可以对输入Stream进行回退的装饰器类 PushbackInputStream适合语法解析过程中的语法回退,因为这个类提供了有限字节(内部定义了一个默认长度为1的byte[] buf字节数组)的缓冲式回退能力,具体过程如下: ①、当调用unread ...
RocketMQ 4
RocketMQ 4.7.1 DLedger 模式下延时消息重复投递问题深度排查与源码解析 前言 在分布式高并发的场景下,“消息重复消费”几乎是每个工程师都会遇到的老朋友。通常情况下,我们习惯性地把它归咎于“网络抖动导致客户端重试”或者“消费者未及时提交 Offset”。然而,最近在一套基于 Roc ...
低代码数据大屏!一款开源免费的数据可视化分析平台!
datagear —— 一款开源免费的数据可视化分析平台,自由制作数据看板,支持接入 SQL、CSV、Excel、HTTP 接口、JSON 等多种数据源。 ...
dubbo服务暴露源码
Dubbo 调用图解 dubbo的调用图(来自官网),如下图,共包含了5个模块 Provider 服务提供方 Registry 服务注册中心(这里可以认为是zookeeper Consumer 服务使用方 Container 服务提供方的容器 Monitor 服务监控中心 服务调用流程 提供服务的容 ...
6、IntelliJ IDEA 之工程模块管理
6.1、Project 和 Module 的概念 如果是单 Module 项目,那么这个单独的 Module 实际上就是一个 Project 。 如果是多 Module 项目,彼此之间可能是互相依赖的,也可能是作为单独一个“小项目”运行。 6.2、创建 Module 如上图所示,一个 Project ...
python基础07模块与包
模块 模块的了解 本质就是一个python文件,以.py结尾的文件 里面定义很多函数,类,变量,可以帮助我们快速的实现某些功能 模块的作用:相当于是一个工具包,有很多不同的模块,每一个模块可以帮助我们实现某些功能 模块的分类: 内置模块:安装python时,内置模块就存在了,可以直接进行导入,直接使 ...
python基础06面向对象
面向对象和面向过程 这个是非常重要的编程思想 面向过程和面向对象 面向过程和面向对象是2种不同的编程风格 面向过程:主要考虑功能的实现步骤和过程,就是怎么去实现,多使用函数相互结合调用实现,就是一步一步的完成,必须完成上面的步骤,才能进行下一步 面向对象:主要考虑动作的主体和相互关系,就是谁去实现, ...
python基础05函数
函数详解 函数的定义和调用 代码有很多种坏味道,重复是最坏的一种,函数可以解决这个问题 减少代码的冗余,就是代码可以重复的使用 模块化的思想,就是将代码封装起来,需要用到的时候,就使用,不用这个代码的话,就可以不运行 每一个函数就是一个功能,需要自己定义 先定义函数,然后在调用函数 函数怎么定义的, ...
告别手动计算,SymPy 初识与 Manim 联动
下面是我正在做的一个抛物线演示动画。 需求很简单:展示一个二次函数 $ y = x^2 - 2x - 1 $ 的图像,并在上面标注几个关键点。 问题来了: 当我想调整函数参数时(比如把 $ -2x $ 改成 $ -3x $),所有点的坐标都要手动重算 计算 $ x=1.5 $ 时的函数值?掏出计算器 ...
extra字段超长截断-码点陷阱
Java字符串截断的隐藏陷阱:你用的substring可能切碎了Emoji 问题背景 项目中有一个消息投递履历的异步消费逻辑,需要将消息的 extra 扩展字段保存到数据库,数据库字段定义为 VARCHAR(500)。为了防止超长字符串写入数据库报错,需要在入库前对 extra 做截断处理。 项目中 ...
一致性Hash算法:如何实现分布式系统中的高效数据分片?
概述 一致性hash多用于分布式数据存储场景,在集群节点数量发生变化时,提升集群适应变化的能力。 大多数网站背后肯定不是只有一台服务器提供服务,因为单机的并发量和数据量都是有限的,所以都会用多台服务器构成集群来对外提供服务。那么这些服务器需要如何分配客户端的请求呢,这个其实就是负载均衡。但是一般的负 ...
讯飞云TTS与火山引擎豆包语音TTS实测对比,差距居然这么大!附带深度原因分析
做嵌入式智能设备、离线语音音箱、单片机交互项目的朋友,大概率都绕不开语音合成 TTS。之前做一个AI语音对话机器人时候,使用的是讯飞云TTS模型,感觉非常慢,于是换到了火山引擎豆包语音模型上,快了不少,今天突发奇想没对比一下两个模型,拿ESP32
+MicroPython 搭建了完全一致的 Wi... ...
开源分享|用MicroPython 做了个 AI 小鸡,它会长大,还记得我所有的情绪
它没有预设的人设,所有的性格都来自和你的互动;它有实体,你摸它的屏幕,它会给你反应;它会记住你说过的话,你们的每一次聊天,都会变成它的一部分。 ...
高性能!一个企业级的 AI 接口透明代理服务!
gpt-load —— 一个基于 Go + Vue 开发、高性能、企业级的 AI 接口透明代理服务,专门为需要集成多种 AI 服务的企业和开发者设计。具备智能密钥管理、负载均衡和完善的监控功能。 ...
Paxos算法:如何解决分布式系统中的共识问题?
背景 Paxos 算法是 Leslie Lamport莱斯利·兰伯特在 1990 年提出了一种分布式系统 共识 算法。这也是第一个被证明完备的共识算法(前提是不存在拜占庭将军问题,也就是没有恶意节点)。 为了介绍 Paxos 算法,兰伯特专门写了一篇幽默风趣的论文。在这篇论文中,他虚拟了一个叫做 P ...
WIZnet-EVB-Pico2开始,用MicroPython玩转以太网开发
这段时间一直在折腾 MicroPython 的网络开发,踩了不少 “入门劝退坑”,也挖到了个让我直呼 “相见恨晚” 的宝藏 ——WIZnet EVB-Pico2 系列开发板。说真的,作为一个不想再啃复杂 C 语言、只想快速把想法变成可跑项目的嵌入式人,这块板简直戳中了我的所有需求! ...
万字长文背诵最新Agent常见试题
什么是大模型 Agent?它与传统的 AI 系统有什么不同? 大模型 Agent 是基于大型语言模型并结合模块化规划、记忆和工具调用的自主决策系统,它能够根据最终目标把复杂任务拆分成子任务,调用 API、检索数据库或使用插件,再通过内部循环不断优化执行流程,基本不需要人在每一步都监督。 传统 AI ...
12、ByteArrayInputStream和DataInputStream的源码分析和使用方法详细分析
一、ByteArrayInputStream的源码——零拷贝(Zero-Copy)的一种字节流 在传统的磁盘 I/O(比如FileInputStream.class、BufferedInputStream.class...等) 中,使用者都需要将磁盘的数据先复制到内存中来使用而无法实现零拷贝(Zer ...
在Windows使用MinGW和CMake编程开发C/C++将.c文件打包成.dll库调用的过程
前提条件 发现这个串口的Github仓库KissUARThttps://github.com/foldl/KissUART ,它的构建有打包成.dll库的选项,我想试着这样用一下(虽然我知道代码量不大直接用.cpp也没有影响) 之前在电脑安装了MinGW64开发C/C++,MinGW-w64http ...


