排序
BlockingQueue:阻塞操作与条件队列的高效结合
BlockingQueue:阻塞操作与条件队列的高效结合,BlockingQueue和BlockingDeque BlockingQueue BlockingQueue 通常用于一个线程生产对象,而另外一个线程消费这些对象的场景。下图是对这个原理的...
Java面试题:为什么HashMap不建议使用对象作为Key?
HashMap 是一种基于哈希表的动态数据结构,它允许使用任意不可变对象作为键(key)来存储和检索数据。然而,在某些情况下,使用对象作为 HashMap 的键可能会遇到一些问题。 首先,我们需...
剑指offer-78、求平⽅根
剑指offer-78、求平⽅根,题⽬描述 给定⼀个⾮负整数 x ,计算并返回 x 的平⽅根,即实现 int sqrt(int x) 函数。 正数的平⽅根有两个,只输出其中的正数平⽅根。如果平⽅根不是整数,输出只保留...
【Flink入门修炼】2-3 Flink Checkpoint 原理机制
如果让你来做一个有状态流式应用的故障恢复,你会如何来做呢? 单机和多机会遇到什么不同的问题? Flink Checkpoint 是做什么用的?原理是什么? 一、什么是 Checkpoint? Checkpoint 是对当前...
Redis缓存实战:彻底解决缓存穿透、击穿、雪崩三大难题
Redis缓存实战:彻底解决缓存穿透、击穿、雪崩三大难题,前言 Redis缓存是Java开发中最常用的技术之一,但缓存穿透、击穿、雪崩三大问题也是面试高频考题。本文结合实战代码,带你彻底搞懂这三大...
web server apache tomcat11-29-Windows Authentication
前言 整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 开源项目 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 系列文章 web serv...
【从0到1构建一个ClaudeAgent】工具与执行-工具
【从0到1构建一个ClaudeAgent】工具与执行-工具,这是 Agent 进化的关键一步:从“只会说话”变成了“真正干活”。 Java 实现代码 public class AgentWithTools { // 配置 private static final ...
SpringBoot的@Async注解有什么坑?
前言 SpringBoot中,@Async注解可以实现异步线程调用,用法简单,体验舒适。 但是你一定碰到过异步调用不生效的情况,今天这篇文章总结了@Async注解的坑点,希望对你会有所帮助。 未启用异步支...
LinkedList 源码深度解析
LinkedList 源码深度解析,引言 LinkedList 的插入操作真的是 O(1) 吗?这个看似常识的答案,在实际生产中可能让你踩坑。 大多数开发者知道 LinkedList 基于双向链表,却忽略了它在真实场景中的...
MySQL优化方向
MySQL优化手段 数据库设计层面 范式设计 减少数据冗余 提高数据一致性 索引策略 选择合适的索引类型 (BTREE, HASH) 覆盖索引 索引选择性 表结构优化 使用合适的数据类型 避免使用NULL 分区表 水...
dubbo服务调用源码
dubbo服务调用源码,调用过程 dubbo的服务调用方是在xml配置了类似于 <dubbo:reference interface='com.jwfy.dubbo.product.ProductService' id='productService' />的配置,意味着后续在s...
05-应用级开发者 AI 时代破局点
后端应用级开发者该如何拥抱 AI GC?就是在这样的一个大的浪潮下,我们的传统的应用级开发者。我们该如何选择职业或者是如何去快速转型,跟上这样的一个行业的一个浪潮? 0 AI金字塔模型 越往上...













