logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

SpringBoot整合Redis String,全套原生API讲解,覆盖80%缓存业务场景

很多新手学Redis String会乱用API,导致缓存失效、内存浪费、业务出错。本篇文章我们将贴合实际开发场景, 全程使用SpringBoot原生RedisTemplate编写示例,从核心特性、底层逻辑、API实操、高频场景到避坑指南,一站式讲透,新手看完就能直接用到项目里。

#redis#数据结构#spring boot +1
Git 分支合并避坑指南:彻底搞懂 Fast-Forward 与 No-FF 区别

在上一篇,我们已经搞定了远程仓库、push/pull、冲突解决,已经能完成最基础的团队协作。但真正在公司开发,几乎没人一直在 main/master 上直接写代码,而是用分支(Branch)来隔离功能、修复 bug、生产发布。这一篇,我把分支的核心逻辑 + 实战命令 + 合并原理 + 冲突解决一次性讲透,学会这篇,你的 Git 才算真正 “企业级”。

#git#java
线程通信:wait/notify、Condition、CountDownLatch

在多线程并发编程中,线程并非孤立执行,常常需要协同工作完成复杂任务。例如生产者线程生产数据,消费者线程消费数据,二者需要通过通信协调生产和消费的节奏,避免数据积压或消费空数据。Java 提供了多种线程通信工具,本文将从基础的 wait/notify 机制,到进阶的 Condition 接口,再到实用的并发工具类( CountDownLatch 、 CyclicBarrier 等),全面解析线程通信

#java
ReentrantLock进阶:Condition 接口与多条件等待

在基础并发编程中,我们常用 Object 类的 wait() 、 notify() 、 notifyAll() 方法实现线程间的等待 / 唤醒通信,但这套机制存在明显局限性 —— 仅支持单一等待队列,无法针对不同条件进行精准唤醒,容易出现 “唤醒错线程” 的无效调度。ReentrantLock 搭配 Condition 接口则完美解决了这一问题,它允许为一把锁绑定多个条件队列,实现线程的多条件精准

#java#jvm
ReentrantLock源码解析:公平锁与非公平锁实现

本文将基于 AQS 原理,深入剖析 ReentrantLock 中公平锁(FairSync)与非公平锁(NonfairSync)的源码实现,对比二者的核心差异,同时结合实验验证性能区别,帮大家彻底掌握这两种锁的设计逻辑与适用场景。

#java#算法#jvm
AI处理器组合

某公司研发了一款高性能AI处理器。每台物理设备具备8颗AI处理器,编号分别为0、1、2、3、4、5、6、7。编号0-3的处理器处于同一个链路中,编号4-7的处理器处于另外一个链路中,不通链路中的处理器不能通信。现给定服务器可用的处理器编号数组array,以及任务申请的处理器数量num,找出符合下列亲和性调度原则的芯片组合。如果不存在符合要求的组合,则返回空列表。

#算法#数据结构#java +2
到底了