自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学亮编程手记

“君子慎独,不欺暗室。卑以自牧,含章可贞。大丈夫立于天地之间,当仰天地浩然正气、行光明磊落之事,克己、慎独、守心、明性”。

  • 博客(9541)
  • 资源 (18)
  • 收藏
  • 关注

原创 Redis INCR 命令操作的原子性详解

Redis 是单线程处理命令的(指核心网络 I/O 和命令执行部分,6.0+ 版本后部分 I/O 使用多线程,但命令执行仍然是单线程)。在任何给定时刻,只有一个命令在服务器端执行。因此INCR操作不会被其他客户端的命令打断,不存在多线程并发问题。即使多个客户端同时发送INCR命令,Redis 也会串行执行。

2026-01-10 11:52:57 46

原创 深度学习目标检测模型术语科普:IoU预测详解

真实框 = 人工标注的正确答案。它是由数据标注人员在训练/测试图像上手动画出来的,表示“这个物体到底在哪里、有多大”。例如:你在 COCO 数据集中看到的每张图,都配有.json文件,里面记录了每个物体的真实框坐标和类别。✅真实框是“标准答案”训练时告诉模型“你预测得对不对”;测试时评估模型性能(比如计算 IoU、mAP)。检测框 = 模型自己预测出来的框。模型看到一张图后,通过神经网络计算,输出若干个可能包含物体的框及其类别和置信度。这些框不一定准确。

2026-01-10 11:38:32 457

原创 深度学习基本术语科普:梯度爆炸(Gradient Explosion)和过拟合(Overfitting)

在反向传播过程中,梯度值随着层数向前传递而指数级增大,导致权重更新幅度过大,模型参数剧烈震荡甚至变为NaN,无法正常收敛。模型在训练集上表现极好(如 loss 很低、准确率很高),但在验证集或测试集上性能显著下降,说明模型记住了训练数据的噪声和细节,而非学习到泛化规律。特征梯度爆炸过拟合发生阶段训练初期或中期(优化过程)训练后期(泛化阶段)根本原因数值不稳定(梯度计算异常)模型复杂度 vs 数据量失衡主要表现loss → NaN / 权重爆炸影响范围整个训练崩溃,无法继续模型能训练完,但泛化差。

2026-01-10 11:25:16 157

原创 MySQL 高负载 I/O 故障全链路分析与优化案例

fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;所有服务挤在 dm-0 根分区高 I/O 导致 %util=100%临时表写满 /tmpInnoDB 刷脏页慢 → page_cleaner 延迟从库回放 relay log 时内存打满OOM Killer 杀死 mysqld从库自动重启主库半同步超时 → 自动降级核心教训。

2026-01-09 17:28:19 623

原创 深入解析:Prometheus中数据库服务器的上传与下载带宽监控

在Prometheus通过Node Exporter采集的网络指标中,我们必须首先明确从被监控主机视角上传带宽(Transmit/TX):数据从服务器流出到网络下载带宽(Receive/RX):数据从网络流入服务器记忆口诀:TX = Transmit = To eXternal(传出);RX = Receive = Receive eXternal(传入)理解数据库服务器的上传与下载带宽,本质上是理解数据流动的方向性。服务间调用:一个服务的"上传"可能是另一个服务的"下载"云成本优化。

2026-01-08 16:20:07 498

原创 Linux iostat 命令分析磁盘 I/O 性能

iostat命令,但它也会,包括与 I/O 相关的部分(如%iowait因此,它是一个,但。

2026-01-08 15:15:00 247

原创 YOLO 目标检测模型IoU 预测概念详解

IoU 预测是指在目标检测模型中,除了预测边界框坐标(x, y, w, h)和类别概率外,额外增加一个分支来预测该检测框与真实框之间的 IoU 值(范围 [0,1])。更准确的置信度校准(将分类得分 × 预测 IoU 作为最终得分);改进 NMS 策略(用预测 IoU 替代硬阈值判断);作为损失函数的一部分,引导模型关注定位质量;减少训练与推理目标不一致的问题(传统方法用分类 loss + 回归 loss,但最终评价看 IoU)。优势说明提升 mAP。

2026-01-08 11:49:04 559

原创 YOLO 模型训练结果曲线图指标解读

三个训练损失均。

2026-01-08 11:44:35 755

原创 深度学习模型训练场景的相关概念整理

学习率就是这个公式中的系数,决定了沿着梯度方向走多远。算法计算出来的,这是深度学习的核心魔法。

2026-01-08 11:12:50 616

原创 模型训练常见问题:Loss 不降反升的原因分析及排查步骤

模型更新步伐太大,每一步都“跨过”了损失函数的最低点,在最优解两侧来回跳跃,甚至可能越跳越高(发散)。即使初始学习率合适,训练后期也需要更小的步伐来精细调整。当你看到Loss不降反升或剧烈震荡时,,这能解决大部分问题。

2026-01-08 11:09:11 284

原创 mysql innodb_flush_log_at_trx_commit 参数详解

1 安全,2 折中,0 快但危险”默认用1,除非你明确知道可以承担数据丢失风险。

2026-01-07 16:55:59 265

原创 mysql innodb_log_buffer_size 参数详解

是 MySQL InnoDB 存储引擎中的一个重要配置参数,用于控制。这个缓冲区用于在将事务日志(redo log)写入磁盘之前,临时缓存这些日志数据。

2026-01-07 16:54:51 359

原创 Java中的锁对象详解

理解"锁是什么对象"是解决Java并发问题和避免死锁的关键!

2026-01-06 20:42:05 208

原创 Java中synchronized和ReentrantLock锁重入机制详解

提高了灵活性:允许方法调用其他同步方法避免了自死锁:同一个线程不会因为重复获取锁而阻塞自己简化了编程:开发者不需要担心嵌套同步的问题支持面向对象设计:便于继承和多态的实现Java中的synchronized关键字和ReentrantLock都内置了锁重入机制,这也是为什么它们被称为"可重入锁"的原因。

2026-01-06 20:39:58 394

原创 docker 部署 Prompt Optimizer (提示词优化器)

Prompt Optimizer是一个强大的AI提示词优化工具,帮助你编写更好的AI提示词,提升AI输出质量。支持Web应用和Chrome插件两种使用方式。

2026-01-06 17:12:44 731

原创 Chrome扩展插件MyBatis SQL Log Merger使用教程

MyBatis SQL Log Merger 是一个Chrome扩展程序,帮助开发者将MyBatis SQL日志合并成完整的SQL语句,便于调试和分析。

2026-01-06 11:38:26 583

原创 MyBatis SQL日志合并插件MyBatis SQL Log Merger的功能介绍和使用方法

一键转换SQL功能:将MyBatis日志转换为可执行SQL,自动识别SQL模板和参数信息,正确代入参数值。独立的SQL合成工具页功能:提供单框和双框两种输入模式,适用于不同场景的日志输入,自动解析SQL模板和参数。SQL格式化与语法高亮功能:生成的SQL支持格式化和语法高亮,提高可读性,方便识别SQL结构和潜在问题。本地处理,保障数据安全功能:所有处理在浏览器本地进行,确保敏感SQL信息不会泄露,特别适合处理生产环境日志。插件优势提升开发效率:自动化处理SQL日志,大幅缩短手动操作时间。

2026-01-06 11:20:55 530

原创 启动MinIO服务时指定配置文件的4种方法详解

选择适合你部署环境的方法,生产环境推荐使用 systemd 服务方式。

2026-01-05 22:52:59 420

原创 Java JVM中的四种内存屏障(Memory Barrier)详解

内存屏障是一种硬件或软件层面的指令,用于控制指令执行顺序和内存可见性。在JVM中,它确保多线程环境下内存操作的顺序性。保障可见性:确保一个线程的写操作对其他线程立即可见保障有序性:防止指令重排序破坏程序语义平台适配:JVM在不同硬件架构上实现统一的内存模型编写正确的并发程序诊断并发问题进行高性能并发优化理解JVM并发机制的底层原理在实际开发中,通常通过使用volatileAtomic类等高级抽象,由JVM自动插入合适的内存屏障,而不需要直接操作底层屏障指令。

2026-01-05 22:14:04 586

原创 TIS 数据同步案例教程:MySQL同步Doris案例介绍

TIS 实现了多数据源端到端的数据同步,使用批量和实时增量的方式。TIS经过多年精心打造,专注用户侧使用体验,在操作界面化、流程化上下了不少功夫。TIS有别于传统大数据ETL工具,它借鉴了DataOps、DataPipeline理念,对大数据ETL各个执行流程建模,将传统的ETL工具执行以黑屏化工具包的方式(json+命令行执行)升级到了白屏化2.0的产品化方式(系统借助底层的MetaData自动生成脚本,用户只需轻点鼠标,借助系统给出的提示快速录入配置),从而大大提高了工作效率。

2026-01-04 22:24:13 945

原创 Java中synchronized和ReentrantLock锁的实现原理详解

维度OS层面相同(最终都是futex)相同(最终都是futex)用户态优化锁升级(偏向/轻量级/重量级)AQS队列+CAS自旋公平性非公平(实现决定)可选择功能基础丰富(可中断、超时、条件等)性能低竞争时更优高竞争时可能更优核心结论两者的操作系统底层机制本质相同,都是基于互斥锁和条件变量性能差异主要来自用户态的实现策略(锁升级 vs AQS)更适合简单场景,依赖JVM优化提供更多控制和可预测性这解释了为什么在低竞争时可能更快(得益于锁升级),而在高竞争时。

2026-01-04 14:39:29 407

原创 Java中的synchronized锁在操作系统层面的具体实现机制详解

核心机制的最终保障是操作系统的互斥锁优化策略:JVM通过锁升级减少进入内核态的代价关键成本:用户态↔内核态切换、上下文切换适用性:重量级锁适合保护复杂操作,不适合高频短操作这就是为什么在某些场景下性能更好——它提供了更灵活的API和优化策略,但底层同样依赖于类似的系统机制。

2026-01-04 14:37:12 424

原创 Java中volatile和synchronized关键字的区别

能力包含关系:synchronized的功能包含volatile的功能,但反之不成立设计原则:应该使用能满足需求的最轻量级机制选择指南使用volatile变量被多个线程访问,但只有一个线程写入变量作为状态标志使用需要确保对象发布的可见性(如单例模式)使用操作是复合的(读-改-写)需要保护临界区需要保证多个变量的一致性更新重要原则:不要因为synchronized"更强大"就滥用它。并发编程中,应该选择最简单、最明确的工具来解决特定问题。volatile能解决的问题。

2026-01-04 14:31:02 283

原创 Java 中使用 volatile 分别修饰基本数据类型和引用数据类型的区别详解

特性基本数据类型引用数据类型可见性保证变量值修改可见引用变更可见有序性保证变量操作不重排引用赋值不重排原子性单次读写原子引用赋值原子作用范围变量本身引用本身,不包含对象内部线程安全需要额外同步需要额外同步(对象内部)

2026-01-03 21:14:51 275

原创 Java 使用 volatile + 双重检查锁(DCL)实现单例模式的最佳方案

为什么要这么做?因为在并发场景下,双重检查锁(DCL)确实存在严重问题——

2026-01-03 14:48:33 377

原创 Java 实现单例模式的双重检查锁定存在的问题代码详解

原代码的主要问题是缺少volatile关键字,这会导致指令重排序和内存可见性问题。在 Java 5 之前,双重检查锁定根本无法正确工作。建议使用静态内部类或枚举方式实现单例,这些方式既安全又简洁。

2026-01-03 14:45:10 261

原创 Java CountDownLatch 代码示例:协调多个线程的执行顺序(比赛起跑)

这个示例完美展示了 CountDownLatch 如何协调多个线程的执行顺序,是并发编程中的经典模式。发令枪响 countDown。所有运动员都准备就绪?所有运动员都到达终点?裁判宣布: 比赛开始。

2025-12-31 20:25:40 604 1

原创 Java CountDownLatch 代码示例及使用细节总结

初始化- 创建N个任务的计数器等待- 主线程等待完成- 每个任务完成后调用必须必须放在finally中建议:使用带超时的await()避免永久阻塞一次性的,用完即弃,不能重置重用。

2025-12-31 18:26:14 145 1

原创 Java 使用 CountDownLatch 进行异步转同步时的注意点

使用进行异步转同步时,确实需要注意异常处理和资源释放。

2025-12-31 18:24:11 288

原创 linux 脚本示例:确保Shell脚本正常退出并返回正确退出码

确保Shell脚本正常退出并返回正确退出码是脚本健壮性的关键。

2025-12-31 15:40:35 261

原创 Linux 使用 dd 或 fallocate 生成指定大小的文件

在Linux中,可以使用dd命令生成一个指定大小的文件。

2025-12-31 10:10:27 368

原创 Java 代码示例:不使用 static 修饰 ThreadLocal 场景分析

实际上,。但是,确实存在少数特殊情况可以不使用 static。

2025-12-30 21:26:48 336

原创 Java ThreadLocal 内存泄漏代码示例

线程隔离失效每个实例有自己的对象同一个线程访问不同实例时,会使用不同的key无法实现真正意义上的线程级数据共享内存泄漏// 每次创建新实例// 都会创建新的 ThreadLocal 对象// ThreadLocalMap 中会积累:ThreadLocal(key) -> value// 线程不结束,这些 entry 就一直存在ThreadLocalMap 膨胀每个线程的中会有大量 key(每个实例一个)即使实例被回收,ThreadLocal 是弱引用,但 value 可能还在。

2025-12-30 21:24:39 248

原创 Java 代码示例:ThreadLocal 解决同一个线程内多个对象间共享状态更新

ThreadLocal 的共享问题同一个线程内的不同对象通过访问的是同一个对象实例这可能导致线程内多个组件间意外的状态共享解决方案方案1:显式传递上下文对象作为方法参数方案2:使用请求/会话级别的上下文,并在处理完成后及时清理方案3:如果确实需要线程内共享,使用专门设计的共享对象,并确保线程安全最佳实践// 正确使用 ThreadLocal 的模式try {// 执行业务逻辑// 必须清理核心原则适用于存储线程隔离的上下文信息,而不是用于同一个线程内不同对象间共享和更新状态。

2025-12-30 21:20:36 295

原创 java ThreadLocal 静态变量的使用与注意事项

用static修饰是为了让实例本身在类级别唯一。每个线程通过这个唯一的实例访问自己独立的变量副本。它解决了线程隔离问题,但不解决线程内多实例共享状态的问题(那需要其他设计)。主要应用场景:线程上下文、数据库连接、会话管理等需要线程隔离数据的场景。

2025-12-30 21:06:51 373

原创 Java HashMap 多线程环境下的死链问题详解

HashMap在多线程环境下使用时存在死链问题。在JDK 7及之前版本的HashMap中,resize时采用的是。特点:对整个map加锁,性能较差。

2025-12-29 18:46:46 402

原创 SSE 和 WebSocket 对比

基于HTTP协议,使用简单的文本格式(通常是EventStream格式)实现服务器到客户端的实时数据流。现代应用有时会结合两者:用SSE推送通知,用WebSocket处理交互通信。协议,建立在TCP连接之上,允许服务器和客户端同时相互发送消息。

2025-12-29 18:37:56 325 1

原创 Java中 count++ 不是原子操作的核心原理解析

count++看起来是一行代码,但实际对应假设:两个线程都做了+1操作,但最终结果是1而不是2。

2025-12-28 15:39:40 312

原创 Java中为什么volatile不能解决多写问题?

volatile只解决可见性问题,不解决原子性问题对于count++这类复合操作,必须使用原子类在JDK8+的高并发写场景下,LongAdder性能通常优于AtomicLong选择哪个工具取决于具体的读写比例和并发程度。

2025-12-28 15:13:27 411

原创 Spring Boot 全局异常捕获完整代码案例

【代码】Spring Boot 全局异常捕获完整代码案例。

2025-12-28 00:38:55 295 1

K8S部署InfluxDB 1.8.4完整教程文档.md

K8S部署InfluxDB教程文档.md

2021-04-22

geotools读取shp文件及shp文件操作工具类代码.pdf

geotools读取shp文件及shp文件操作工具类代码.pdf

2021-04-24

Typora-0.11.18-win

Typora -0.11.18

2023-11-18

Premiere CS4教程——制作一个简单的相册

内容涵盖前沿电子商务资讯,权威互联网报告,精彩实用软件视频教程,精美电子相册。淘宝网店运营知识集锦,淘宝运营推广方法集萃,淘宝直通车优化指南等。photoshop,flash,dreamweaver,Aftereffects,Pr,Corel DRAW等软件视频教程。

2013-03-17

geotools学习(一)IntelliJ IDEA搭建快速入门示例.pdf

geotools学习(一)IntelliJ IDEA搭建快速入门示例.pdf

2021-04-23

eclipse git插件下载

eclipse git插件下载。 用于eclipse集成git。多款插件。

2018-07-01

spring boot发送普通文本邮件/HTML邮件/附件邮件/图片邮件完整代码.zip

spring boot发送普通文本邮件/HTML邮件/附件邮件/图片邮件完整代码.zip

2019-09-03

QGIS的安装及中文配置教程.pdf

QGIS的安装及中文配置教程.pdf

2021-04-22

Typora-linux-x64-1.0.2.tar.gz

linux全平台安装包,不是deb格式,Typora-linux-x64-1.0.2.tar.gz

2021-12-02

springboot-websocket-demo.zip

springboot-websocket-demo.zip

2019-10-17

spring mvc 4+mybatis 3+bootstrap+逆向工程+分页插件实现增删改查完整项目源码

spring mvc 4+mybatis 3+bootstrap+逆向工程+分页插件实现增删改查完整项目源码。 ①项目源码完整。 ②前端页面精美大气。 ③代码可读性强。 ④注释丰富。 ⑤所用技术为前沿技术。

2018-07-01

Spring security+jwt服务鉴权完整代码.zip

Spring security+jwt服务鉴权完整代码.实现服务鉴权访问, 携带token访问服务, 缺失或无效都提示401

2019-09-09

junit jar包及依赖jar

junit jar包及依赖jar

2018-09-16

k8s部署influxdb完整yaml部署文件.7z

k8s部署influxdb完整yaml部署文件

2021-04-22

GIS基本知识学习.pdf

GIS基本知识学习.pdf

2021-05-08

PL/SQL Developer安装及配置文件下载

PL/SQL Developer安装及配置文件下载。 内含安装包和配置文件,作者本机就在使用这一套,绝对亲测能用。

2018-07-01

spring-boot-docker.zip

使用docker创建spring boot项目镜像项目源代码. 使用docker创建spring boot项目镜像项目源代码.

2019-09-17

springboot-druid-mybatisplus.zip

Spring Boot 2.0.5 配置Druid数据库连接池. 完整项目代码,可以直接跑起来!

2019-09-03

Dubbo框架和SSM框架搭建

Dubbo框架和SSM框架搭建。

2018-12-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除