首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
每天一个java开发小技巧
加瓦点灯
创建于2025-01-10
订阅专栏
每天一个java开发小技巧 每一步成长都想跟你分享
等 10 人订阅
共20篇文章
创建于2025-01-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
受够了重复工作,一怒之下手写一个多平台文章同步工具
背景 作为喜欢分享技术博客的程序员,我经常需要在知乎、CSDN、今日头条、掘金四个平台同步内容。步骤如下: 打开平台 找到创作中心 复制文章 调整格式(有的平台支持md格式,有的只支持html格式)
让你的接口自带「防重」Buff: 分布式幂等组件
一、组件概述 该分布式幂等组件基于 Spring AOP 和 Redis 实现,通过注解声明式配置,提供灵活、高性能的接口幂等性保障。支持快速失败与阻塞等待两种模式,集成自定义策略扩展能力,适用于sp
一个注解搞定接口限流的完整实现指南
一个注解搞定接口限流的完整实现指南 注解实现的功能如下: 支持根据配置动态选择分布式限流器或者单机限流器 支持类级别使用限流 支持方法级别限流(优先) 支持多个方法使用相同的限流器(分组限流) 支持s
Guava EventBus:程序员必备的事件驱动框架,你还没用过?
Google Guava EventBus是Guava工具库中的事件驱动组件,采用发布-订阅模式实现组件间解耦通信。它提供轻量级的事件总线机制,允许不同组件通过事件进行交互而无需直接引用彼此。
培养项目中横向抽象的能力:构建可复用的技术中台思维
培养项目中横向抽象的能力:构建可复用的技术中台思维 在软件开发中,我们常遇到一类特殊需求:它们不直接属于业务逻辑,却像"毛细血管"般渗透到各个模块中,例如方法耗时统计、分布式锁管理、异常统一捕获、事务
用上了MethodHandle,妈妈再也不用担心我的反射性能不高了!
Java MethodHandle:颠覆你对方法调用的认知(附实战代码) 引言:当方法调用遇上"函数指针" 在Java的演进历程中,MethodHandle的引入(Java 7)彻底改变了我们对方法调
百万人高并发场景下,我如何用无锁实现高性能LRU缓存?
《百万人高并发场景下,我如何用无锁实现高性能LRU缓存?》 LRU算法核心原理 LRU(Least Recently Used)算法是缓存系统的核心淘汰策略,其核心逻辑可以用一张流程图描述: (图:访
Protobuf为何成为高效数据交换的首选?
深入解析Protobuf性能优势及Java实战应用 一、高性能数据交换的革命者 在电商秒杀系统与物流轨迹追踪等实时性要求极高的场景中,JSON/XML这类传统数据格式常成为性能瓶颈。某头部电商平台将其
今日思考:程序是如何实现随机的?以及什么是真随机和伪随机
今日思考:程序是如何实现随机的?以及什么是真随机和伪随机 1. 背景 今日神游,忽然沉思:随机是指现实生活中无规律,不可预测的事情,例如:抛硬币。那么在软件的世界里是如何实现这一物理现象的呢,遂做此探
手把手教会你Disruptor的常用使用场景!(含详细代码示例)
Disruptor 常见使用场景与代码示例 1. 引言 上期介绍到Disruptor 是一个高性能的无锁并发队列,适用于需要极低延迟和高吞吐量的应用场景。它通过环形缓冲区(RingBuffer)和高效
轻量级限流算法的实现,拿走即用!
引言 在后端服务里,流量控制是确保系统稳定运行的关键之一。今天给大家介绍一个非常简单的漏桶限流算法的实现,很轻量级,无需任何第三方依赖。 漏桶算法核心思想 漏桶算法示意图 请求会被放入一个固定容量的桶
保姆级解析雪花算法原理,看完必懂!
引言 最近发现项目里主键id生成算法很短小精悍,遂深入看了下,还蛮有意思,在此分享一下,源码如下。 介绍 这个 ID 生成算法是一种基于 雪花算法 (Snowflake) 和 自定义时序生成策略 的设
使用 Java 实现基于 DFA 算法的敏感词检测
1. 引言 敏感词检测在内容审核、信息过滤等领域有着广泛的应用。本文将介绍如何使用 DFA(Deterministic Finite Automaton,确定有限状态自动机) 算法,在 Java 中实
reduce 到底是什么?Java8 Stream 的终极聚合工具详解
reduce() 是 Java Stream API 提供的一个终端操作方法,用于将流中的元素组合起来生成一个单一的值。这一方法非常强大,可以实现累积、聚合、拼接等功能,适用于各种数据处理场景。 1.
深挖 Java8的Stream.flatMap:你不知道的流式操作技巧
flatMap() 是 Java8 Stream API 的核心方法之一,主要用于将嵌套结构展开并生成一个新的流。它的强大之处在于能够处理复杂数据结构并将其转换为简单的线性流。以下是 flatMap(
使用try-with-resources实现自动解锁
背景 项目中使用Redission分布式锁,每次使用都需要显示的解锁。很麻烦,Java 提供了 try-with-resources 语法糖,它不仅可以用于自动关闭流资源,还可以用于实现自动解锁。 本
使用WeakHashMap实现缓存自动清理
在 Java 中,内存管理是一个重要的话题,尤其是在涉及到缓存的实现时。如果缓存项不再被使用,我们希望它们能被自动清理,而不必手动删除。WeakHashMap 就是 Java 提供的一种用于缓存和内存
使用 CompletableFuture 实现异步编程
在现代 Java 开发中,异步编程是一项重要技能。而 CompletableFuture 是从 Java 8 开始提供的一个功能强大的工具,用于简化异步任务的编写和组合。本文将详细介绍 Complet
使用 StampedLock实现高效读写
StampedLock是 Java 8 引入的高性能锁,提供了三种锁模式:写锁、悲观读锁和乐观读锁。
【Optional 的 orElseGet 和 orElse区别】
Optional 是 Java 8 引入的一个容器类,用于优雅地处理可能为 null 的值。虽然 Optional 的常见用法(如 orElse)被广泛使用,但 orElseGet 和 orElse