友链朋友圈

时日曷丧,与汝偕亡

Example Talk

Click on the Slides button above to view the built-in slides feature. Slides can be added in a few ways: Create slides using Hugo Blox Builder’s Slides feature and link using slides parameter in the f...

ExpiringMap

📦 1. ExpiringMap 是什么? net.jodah:expiringmap 是一个 轻量级、高性能的 Java Map 实现,内置 key 过期机制。它非常适合作为 临时缓存、验证码存储、限流、token 存储 等用途。 特点: 每个 key 可以设置独立过期时间 支持两种过期策略: CREATED:从创建开始计时 ACCESSED:每次访问都会重置 TTL 自动清理过期 key 支...

喵雨の小屋

主子表联动实现文档

主子表联动实现文档 概述 主子表联动是一种常见的数据展示模式,点击主表(上表)的某一行时,下方的子表会自动加载并显示与该行相关的详细数据。 实现原理 1. 数据结构设计 主表数据结构(线路信息): MainTableData: [ { id: '1', routeName: '北京-上海', origin: '北京', destination: '上海', good...

喵雨の小屋

`BindingResult` 是什么?

🔍 一、BindingResult 是什么? BindingResult 是 Spring MVC 中用于 接收参数绑定(Data Binding)与校验(Validation)结果 的对象。 当你使用: @Valid @Validated @ModelAttribute 表单对象 Form / DTO 时,Spring 会自动进行 类型转换 与 参数校验。而校验错误、类型转换异常等都会被放入 ...

喵雨の小屋

JVM分代回收

JVM分代回收 MeowRain 2025-10-30 26 阅读4分钟 专栏: 后端 编辑 JVM分代回收 新生代 新生代用来存放新创建的对象。大多数对象在这里分配,也大多数会很快被回收。 💡 每次 Minor GC(小型垃圾回收) 都会清理 Eden 区和 From 区,把仍然存活的对象复制到 To 区。然后交换 From 和 To 的角色。 新生代对象的生命周期 🌱 一、对象创建阶段 新...

喵雨の小屋

Java I/O模型

I/O模型 Java 共支持3种网络编程模型/IO模式: BIO,NIO,AIO Java BIO 同步并阻塞(传统阻塞型) 服务器实现模式为一个连接一个线程,也就是客户端有连接请求的时候,服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销。 如果客户端很多,那么服务器就要启很多线程,每个线程都要占用一定的内存,所以服务器肯定是承受不了的 程序发出一个 I/O 请求...

喵雨の小屋

通过巨量引擎API获取视频URL并上传到连山云对象存储

背景 在使用 巨量引擎 时,我们可能会通过 API 获取到视频的 URL。但是,获取到的视频 URL 通常是 前端临时链接,不能直接用于下载。为了能够下载视频并上传到自己的存储系统,我们需要绕过这个临时链接的限制。 通过分析浏览器的开发者工具(F12),我们发现,虽然视频 URL 是临时的,但它背后

楠笙

JVM五种引用类型

在 Java 中,除了 强引用(Strong Reference) 外,JVM 还定义了其他四种引用类型,用于更精细地控制对象的生命周期与垃圾回收行为。 这五种引用类型在 java.lang.ref 包中定义,是 GC 判断对象可回收性的关键依据。 🌳 一、五种引用类型总览 引用类型 类名 是否可被 GC 回收 典型用途 1. 强引用(Strong Reference) 普通对象引用 ❌ 永不回...

喵雨の小屋