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 ...
extra字段超长截断-码点陷阱
Java字符串截断的隐藏陷阱:你用的substring可能切碎了Emoji 问题背景 项目中有一个消息投递履历的异步消费逻辑,需要将消息的 extra 扩展字段保存到数据库,数据库字段定义为 VARCHAR(500)。为了防止超长字符串写入数据库报错,需要在入库前对 extra 做截断处理。 项目中 ...
一致性Hash算法:如何实现分布式系统中的高效数据分片?
概述 一致性hash多用于分布式数据存储场景,在集群节点数量发生变化时,提升集群适应变化的能力。 大多数网站背后肯定不是只有一台服务器提供服务,因为单机的并发量和数据量都是有限的,所以都会用多台服务器构成集群来对外提供服务。那么这些服务器需要如何分配客户端的请求呢,这个其实就是负载均衡。但是一般的负 ...
Paxos算法:如何解决分布式系统中的共识问题?
背景 Paxos 算法是 Leslie Lamport莱斯利·兰伯特在 1990 年提出了一种分布式系统 共识 算法。这也是第一个被证明完备的共识算法(前提是不存在拜占庭将军问题,也就是没有恶意节点)。 为了介绍 Paxos 算法,兰伯特专门写了一篇幽默风趣的论文。在这篇论文中,他虚拟了一个叫做 P ...
万字长文背诵最新Agent常见试题
什么是大模型 Agent?它与传统的 AI 系统有什么不同? 大模型 Agent 是基于大型语言模型并结合模块化规划、记忆和工具调用的自主决策系统,它能够根据最终目标把复杂任务拆分成子任务,调用 API、检索数据库或使用插件,再通过内部循环不断优化执行流程,基本不需要人在每一步都监督。 传统 AI ...
12、ByteArrayInputStream和DataInputStream的源码分析和使用方法详细分析
一、ByteArrayInputStream的源码——零拷贝(Zero-Copy)的一种字节流 在传统的磁盘 I/O(比如FileInputStream.class、BufferedInputStream.class...等) 中,使用者都需要将磁盘的数据先复制到内存中来使用而无法实现零拷贝(Zer ...
5、IntelliJ IDEA 之偏好设置
5.1、打开设置界面 5.2、设置外观主题 如上图所示,本示例设置一个比较浅色的外观主题。 5.3、设置文字大小 如上图所示,可以设置使用鼠标滚轮改变编辑器中的文字大小。 如上图所示,还可以手动设置文字大小、行高和字体。 5.4、设置智能提示 如上图所示,取消智能提示的区分大小写,可能会方便很多。 ...
Settings开发者模式添加OTG切换功能
框架 框架接口在frameworks/base/packages/SettingsLib当中 Settings开发者模式代码: packages/apps/Settings/src/com/android/settings/development/OtgPreferenceController.ja ...
Tomcat Request请求处理过程:Connector
引入 线程池Executor是在哪里启动的? Request是如何处理并交个Container处理的? Tomcat支持哪些协议?这些协议是处理的?协议层次结构如何设计的? Connector Connector构造 本质是初始化了ProtocolHandler,默认是HTTP/1.1 NIO实现。 ...
Spring Boot 4.0.6 发布,紧急修复了 8 个安全漏洞,赶紧看看自己的 Spring Boot 版本!!
大家好,我是R哥。 Spring Boot 4.0.6 正式发布了: 这次不是功能型大版本,包含 65 项 bug 修复、文档改进和依赖升级。 最重要的一点是一次性紧急修复了 8 个 CVE,其中 1 个 Critical、2 个 High、5 个 Medium,尤其是 Actuator 端点未授权 ...
Java 无需 Office 环境实现 Word 转 HTML
一、引言 在企业级开发、文档管理系统、在线预览等场景中,Word 文档转换为 HTML 是高频需求。HTML 具备跨平台、无需专用阅读器、可直接嵌入网页展示的优势,而 Java 生态中,Free Spire.Doc for Java 是一款免费、轻量的文档处理组件,可无侵入实现 Word(doc/d ...
Tomcat Container的管道机制:责任链模式
内容引入 承接上文Engine的设计,从以下几个方面,我将向你解释为什么要理解Tomcat中管道机制,它要解决什么问题? Tomcat总计架构图中Pipeline和Vavle 我们在上文Engine中有一块Pipline没有解释: 为什么Tomcat要引入Pipline呢?它要解决什么问题呢? 下文 ...
11、(ByteArrayInputStream和DataInputStream的源码分析和使用方法详细分析前言)UTF-8 编码规则
UTF-8(Unicode Transformation Format-8-bit)是一种针对 Unicode 的可变长度字符编码,通过 1 至 4 个字节表示一个字符,完美兼容 ASCII 编码,同时支持全球所有语言的字符(包括中文、日文、韩文、阿拉伯语等)。其核心设计思想是通过首字节的标识符确定 ...
Tomcat Container容器之Engine:StandardEngine
理解思路 第一:抓住StandardEngine整体类依赖结构来理解 第二:结合server.xml中Engine配置来理解 见下文具体阐述。 第三:结合Engine Config官方配置文档 http://tomcat.apache.org/tomcat-9.0-doc/config/engine ...
《小丑牌》游戏在Java上进行的模仿
突发奇想想写一个小游戏,看了看按我目前的水平能写出来的,打牌类算是能巩固我目前所学的方向。(注:我们当时是6个人来做,本人负责的是架构与出牌弃牌操作,其他都是同伴写的) 1.先把小丑牌的规则与想要实现的方向按文档写出来,就可以得到一张原型图与需求文案。原型图的链接https://rp.mockplu ...


