此文剖析Redis缓存穿透、击穿、雪崩的成因与差异;给出布隆过滤器、Redisson分布式锁、逻辑过期、TTL随机偏移、Caffeine多级缓存等落地方案,附带Java核心代码;梳理各类技术痛点,搭配真实面试问答,分享线上故障处理经验。 ...
大家好,我是R哥。 Fastjson 最近又爆出严重安全漏洞: https://github.com/alibaba/fastjson2/wiki/Security-Advisory:-Remote-Code-Execution-in-fastjson-1.2.68–1.2.83 还是严重等级,Fa ...
本文以面试视角拆解千万级单表深分页痛点,点明传统 LIMIT 大偏移量会大量无效扫描。给出四类优化:游标分页(毫秒稳定性能,首选)、子查询延迟关联、覆盖索引回表、ES / 冷热分离降级;配套 MyBatis-Plus 通用工具类,含参数校验、SQL 超时防护等工程亮点。按业务场景匹配方案,梳理数据删... ...
本文详解MySQL规范化建表全流程,从命名规范、精简字段选型、索引合理规划、表结构拆分优化、数据安全约束切入,给出标准化建表SQL。亮点包含datetime(6)规避2038问题、全字段非空规避索引失效、虚拟列索引适配JSON检索、联合索引遵循最左前缀;附带千万级场景痛点解决方案,涵盖无锁改表、分库... ...
本文会参考 Dubbo 的整体设计思路,手写一个极简版 RPC 框架。 它不会像 Dubbo 那样把协议、注册中心、集群容错、SPI 扩展、线程模型都做得非常完整,但会把 RPC 最核心的一条链路跑通,并且补上一个生产中很重要的能力:熔断降级。 也就是说,本文最后实现出来的效果大概是这样的: 服务提 ...
如何做出中国气象局发布的降雨量分布图 流程如下 1. 准备自己的降雨数据(点数据,格网数据),在使用前需要对无效数据进行清洗 2. 对数据进行插值分析(推荐克吕金插值) 3. 提取等值面 4. 将每个面的最小值当做面内的雨量值 5. 融合等值面 6. 裁剪等值面范围到自己所需的目标区域 7. 对裁剪 ...
解疑释惑 - 日志体系之 slf4j + logback 组合(二) 引言 上一篇随笔从 slf4j 出发,完整分析了门面设计模式、静态绑定机制、初始化状态机和 MDC 体系。在 slf4j 的 bind() 方法中,最终通过 StaticLoggerBinder.getSingleton() 拿到 ...
千万级 MySQL 大表直接执行 DDL 易引发锁表、服务雪崩。本文按版本给出四层落地方案:MySQL8.0 Instant DDL、5.6~5.7 Online DDL、gh-ost/pt-osc 在线变更、业务双写迁移。对比工具原理差异,附上生产级脚本,梳理主从延迟、MDL 锁等线上坑点,附带完... ...
AI 并非淘汰程序员,而是解放开发者重复性工作。文章分享程序员把握 AI 红利三层路径,提供 Java 生态 AI 工具选型、Spring AI+RAG 落地实战,点明 Prompt 工程核心,同时警示 AI 幻觉、基本功缺失等陷阱,给出可直接落地的行动方案。 ...
本文实战设计日增 500 万用户行为日志存储架构,采用 Kafka+MySQL 二级分库分表、Redis 热点缓存、冷热分层归档。分享位运算路由、优化雪花算法、Kafka 批量写入核心 Java 代码,梳理分表扩容、热点倾斜、时钟回拨等面试高频难点,附带真实系统设计面试模拟。 ...
本文探讨 AI 发展是否引发程序员大规模失业,结论为不会大规模失业,但行业迎来职业洗牌。结合多份行业数据划分 AI 在研发各环节的能力边界,AI 擅长生成 CRUD 样板代码,却难以完成需求拆解、架构权衡与故障兜底。初级 CRUD 开发受冲击最大,并给出程序员善用 AI、深耕业务与底层技术的成长建议... ...
这是我第一次写公开的东西,写的不好请见谅 打开LibrePDF/OpenPDF的官网 我们发现这个项目的license是LGPL和MPL双许可证。也就是说:只要将修改后的源码公开出来即可,没有其他付费限制。 截止到2026-07-27,最新的版本号是3.0.5。需要最低的JDK版本号是JDK21。 ...
和PipedInputStream和PipedOutputStream一样,Java IO包中的PipedWriter和PipedReader也提供了一种高效的线程间通信机制,允许一批(多个)线程向PipedWriter写入数据,另一批(多个)线程从PipedReader读取数据。 但是,同一批(多 ...
一、FileReader——对InputStreamReader的封装 如果说InputStreamReader是FileInputStream和FileReader之间的桥梁,那么FileReader就是对InputStreamReader的封装,从FileReader的源码来看,除了将Input ...
opsli-boot —— 一款基于 SpringBoot + Vue、前后端分离的低代码快速开发平台,主打模块化热插拔、SaaS 多租户、代码生成等后台管理功能,开箱即用。 ...
Java + Spring AI 实战:从零构建智能 Agent 系统 一、项目背景 在大语言模型(LLM)飞速发展的今天,智能 Agent 已成为 AI 应用的重要形态。一个完整的智能 Agent 需要具备四大核心能力: 决策能力:理解用户意图并选择正确的处理路径 知识能力:拥有领域知识,回答专业 ...
一、InputStreamReader——FileInputStream和FileReader之间的桥梁 计算机存储的单位是字节,尽管我们平时在操作系统(此处以windows操作系统为例)中使用.txt文件保存了汉字这样的字符,但是对计算机而言,这些.txt文件中的汉字其实是以字节形式存在的,所以, ...
想在一小时内跑通分布式链路追踪?本文按架构→部署→探针→控制台四步展开,附 Horizon UI 现场截图与 Databuff AI 演进参考。 ...
大家好,我是 R 哥。 前段时间,一位做 Java 的兄弟去面试字节,回来后第一时间给我发消息: R 哥,我被一个问题问懵了。 我以为又是什么 JVM、MySQL、Redis 八股,结果他说都不是。 面试官打开他的项目,看到里面接入了 AI,随口问了一句: 企业项目到底该用 LangChain4j ...
一、BufferedReader的源码——带有缓冲区的字符流装饰器类 在计算机中,文本是最普遍、最基础的数据交换格式,从日志文件到 JSON API,从数据库查询结果到机器学习训练集,文本无处不在。然而,原始的字符输入流(如 FileReader 或 InputStreamReader)每次读取操作 ...