- 博客(9551)
- 资源 (18)
- 收藏
- 关注
原创 使用 dmesg 工具诊断Linux系统问题基本用法案例
是系统管理员和开发者诊断 Linux 系统问题的必备工具,熟练掌握可以帮助快速定位硬件、驱动和内核级别的问题。e)是 Linux 中显示内核环形缓冲区(ring buffer)内容的强大工具。systemd 系统可以使用。
2026-01-14 17:20:27
346
原创 使用 Docker 安装 Gitea 代码仓库
此处描述的定制文件应放在目录中。如果使用主机卷,则访问这些文件非常容易;对于命名卷,可以通过另一个容器或通过直接访问来完成。安装后,配置文件将保存在中。
2026-01-14 15:40:50
528
原创 docker 镜像高效构建:配置.dockerignore典型场景与案例
✅最佳实践建议每个项目都应有,哪怕只有几行。排除所有非构建必需文件:日志、缓存、IDE、虚拟环境、敏感文件。与.gitignore区分对待:有些文件(如DockerfileMakefile)应进 Git 但不进构建上下文?很少见,通常两者有交集但不等同。结合多阶段构建:让专注“减少上下文”,构建逻辑由 Dockerfile 控制。合理使用,是专业 Docker 工程师的基础素养,也是保障构建效率与安全的第一道防线。
2026-01-13 13:49:41
805
原创 Docker 及 K8S 运维核心要点
对资深 Docker 工程师而言,K8s 运维是容器生命周期 × 集群可靠性 × 安全治理 × 自动化闭环的综合工程。标准化:镜像、部署、配置、网络。可观测:Metrics + Logs + Traces 三位一体。自动化:从部署到恢复,减少人工干预。防御纵深:从镜像构建到运行时,层层设防。掌握这些细节,才能在大规模、高可用、安全合规的云原生环境中游刃有余。
2026-01-13 13:45:52
1097
原创 Java中为什么 SimpleDateFormat 是线程不安全的?
方案是否线程安全推荐程度实例(非 static)✅(每次新建)⭐⭐(无保护)❌❌ 禁止✅⭐(性能差)✅⭐⭐⭐(Apache)✅⭐⭐⭐⭐(Java 8+)✅⭐⭐⭐⭐⭐(首选)💡最佳实践:新项目一律使用java.time。
2026-01-13 13:34:38
364
原创 Java AQS 与 Golang Channel 对比分析
显式控制:需要手动管理锁的获取和释放状态中心:围绕共享状态变量构建同步复杂但强大:可以实现各种复杂的同步机制学习曲线陡峭:需要深入理解并发原理AQS:我是交通警察,指挥线程有序访问共享资源“你停!”(acquire)“你可以走了”(release)“按顺序排队!”(FIFO 队列)Channel:我是快递小哥,在协程间传递包裹“这是给你的包裹”(ch <- data)“有我的包裹吗?”(<- ch)“同时等多家快递”(select)
2026-01-12 12:36:33
653
原创 Java AQS 深度解析
状态 State:通过 volatile + CAS 实现原子更新等待队列:CLH 队列的变体,公平管理线程排队模板方法:子类只需实现 tryAcquire/tryRelease 等关键方法两种模式:独占模式(如锁)、共享模式(如信号量)
2026-01-11 16:04:06
244
原创 Redis INCR 命令操作的原子性详解
Redis 是单线程处理命令的(指核心网络 I/O 和命令执行部分,6.0+ 版本后部分 I/O 使用多线程,但命令执行仍然是单线程)。在任何给定时刻,只有一个命令在服务器端执行。因此INCR操作不会被其他客户端的命令打断,不存在多线程并发问题。即使多个客户端同时发送INCR命令,Redis 也会串行执行。
2026-01-10 11:52:57
154
原创 深度学习目标检测模型术语科普:IoU预测详解
真实框 = 人工标注的正确答案。它是由数据标注人员在训练/测试图像上手动画出来的,表示“这个物体到底在哪里、有多大”。例如:你在 COCO 数据集中看到的每张图,都配有.json文件,里面记录了每个物体的真实框坐标和类别。✅真实框是“标准答案”训练时告诉模型“你预测得对不对”;测试时评估模型性能(比如计算 IoU、mAP)。检测框 = 模型自己预测出来的框。模型看到一张图后,通过神经网络计算,输出若干个可能包含物体的框及其类别和置信度。这些框不一定准确。
2026-01-10 11:38:32
819
原创 深度学习基本术语科普:梯度爆炸(Gradient Explosion)和过拟合(Overfitting)
在反向传播过程中,梯度值随着层数向前传递而指数级增大,导致权重更新幅度过大,模型参数剧烈震荡甚至变为NaN,无法正常收敛。模型在训练集上表现极好(如 loss 很低、准确率很高),但在验证集或测试集上性能显著下降,说明模型记住了训练数据的噪声和细节,而非学习到泛化规律。特征梯度爆炸过拟合发生阶段训练初期或中期(优化过程)训练后期(泛化阶段)根本原因数值不稳定(梯度计算异常)模型复杂度 vs 数据量失衡主要表现loss → NaN / 权重爆炸影响范围整个训练崩溃,无法继续模型能训练完,但泛化差。
2026-01-10 11:25:16
687
原创 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
837
原创 深入解析:Prometheus中数据库服务器的上传与下载带宽监控
在Prometheus通过Node Exporter采集的网络指标中,我们必须首先明确从被监控主机视角上传带宽(Transmit/TX):数据从服务器流出到网络下载带宽(Receive/RX):数据从网络流入服务器记忆口诀:TX = Transmit = To eXternal(传出);RX = Receive = Receive eXternal(传入)理解数据库服务器的上传与下载带宽,本质上是理解数据流动的方向性。服务间调用:一个服务的"上传"可能是另一个服务的"下载"云成本优化。
2026-01-08 16:20:07
688
原创 Linux iostat 命令分析磁盘 I/O 性能
iostat命令,但它也会,包括与 I/O 相关的部分(如%iowait因此,它是一个,但。
2026-01-08 15:15:00
288
原创 YOLO 目标检测模型IoU 预测概念详解
IoU 预测是指在目标检测模型中,除了预测边界框坐标(x, y, w, h)和类别概率外,额外增加一个分支来预测该检测框与真实框之间的 IoU 值(范围 [0,1])。更准确的置信度校准(将分类得分 × 预测 IoU 作为最终得分);改进 NMS 策略(用预测 IoU 替代硬阈值判断);作为损失函数的一部分,引导模型关注定位质量;减少训练与推理目标不一致的问题(传统方法用分类 loss + 回归 loss,但最终评价看 IoU)。优势说明提升 mAP。
2026-01-08 11:49:04
666
原创 模型训练常见问题:Loss 不降反升的原因分析及排查步骤
模型更新步伐太大,每一步都“跨过”了损失函数的最低点,在最优解两侧来回跳跃,甚至可能越跳越高(发散)。即使初始学习率合适,训练后期也需要更小的步伐来精细调整。当你看到Loss不降反升或剧烈震荡时,,这能解决大部分问题。
2026-01-08 11:09:11
419
原创 mysql innodb_flush_log_at_trx_commit 参数详解
1 安全,2 折中,0 快但危险”默认用1,除非你明确知道可以承担数据丢失风险。
2026-01-07 16:55:59
289
原创 mysql innodb_log_buffer_size 参数详解
是 MySQL InnoDB 存储引擎中的一个重要配置参数,用于控制。这个缓冲区用于在将事务日志(redo log)写入磁盘之前,临时缓存这些日志数据。
2026-01-07 16:54:51
384
原创 Java中synchronized和ReentrantLock锁重入机制详解
提高了灵活性:允许方法调用其他同步方法避免了自死锁:同一个线程不会因为重复获取锁而阻塞自己简化了编程:开发者不需要担心嵌套同步的问题支持面向对象设计:便于继承和多态的实现Java中的synchronized关键字和ReentrantLock都内置了锁重入机制,这也是为什么它们被称为"可重入锁"的原因。
2026-01-06 20:39:58
403
原创 docker 部署 Prompt Optimizer (提示词优化器)
Prompt Optimizer是一个强大的AI提示词优化工具,帮助你编写更好的AI提示词,提升AI输出质量。支持Web应用和Chrome插件两种使用方式。
2026-01-06 17:12:44
757
原创 Chrome扩展插件MyBatis SQL Log Merger使用教程
MyBatis SQL Log Merger 是一个Chrome扩展程序,帮助开发者将MyBatis SQL日志合并成完整的SQL语句,便于调试和分析。
2026-01-06 11:38:26
595
原创 MyBatis SQL日志合并插件MyBatis SQL Log Merger的功能介绍和使用方法
一键转换SQL功能:将MyBatis日志转换为可执行SQL,自动识别SQL模板和参数信息,正确代入参数值。独立的SQL合成工具页功能:提供单框和双框两种输入模式,适用于不同场景的日志输入,自动解析SQL模板和参数。SQL格式化与语法高亮功能:生成的SQL支持格式化和语法高亮,提高可读性,方便识别SQL结构和潜在问题。本地处理,保障数据安全功能:所有处理在浏览器本地进行,确保敏感SQL信息不会泄露,特别适合处理生产环境日志。插件优势提升开发效率:自动化处理SQL日志,大幅缩短手动操作时间。
2026-01-06 11:20:55
546
原创 Java JVM中的四种内存屏障(Memory Barrier)详解
内存屏障是一种硬件或软件层面的指令,用于控制指令执行顺序和内存可见性。在JVM中,它确保多线程环境下内存操作的顺序性。保障可见性:确保一个线程的写操作对其他线程立即可见保障有序性:防止指令重排序破坏程序语义平台适配:JVM在不同硬件架构上实现统一的内存模型编写正确的并发程序诊断并发问题进行高性能并发优化理解JVM并发机制的底层原理在实际开发中,通常通过使用volatileAtomic类等高级抽象,由JVM自动插入合适的内存屏障,而不需要直接操作底层屏障指令。
2026-01-05 22:14:04
616
原创 TIS 数据同步案例教程:MySQL同步Doris案例介绍
TIS 实现了多数据源端到端的数据同步,使用批量和实时增量的方式。TIS经过多年精心打造,专注用户侧使用体验,在操作界面化、流程化上下了不少功夫。TIS有别于传统大数据ETL工具,它借鉴了DataOps、DataPipeline理念,对大数据ETL各个执行流程建模,将传统的ETL工具执行以黑屏化工具包的方式(json+命令行执行)升级到了白屏化2.0的产品化方式(系统借助底层的MetaData自动生成脚本,用户只需轻点鼠标,借助系统给出的提示快速录入配置),从而大大提高了工作效率。
2026-01-04 22:24:13
951
原创 Java中synchronized和ReentrantLock锁的实现原理详解
维度OS层面相同(最终都是futex)相同(最终都是futex)用户态优化锁升级(偏向/轻量级/重量级)AQS队列+CAS自旋公平性非公平(实现决定)可选择功能基础丰富(可中断、超时、条件等)性能低竞争时更优高竞争时可能更优核心结论两者的操作系统底层机制本质相同,都是基于互斥锁和条件变量性能差异主要来自用户态的实现策略(锁升级 vs AQS)更适合简单场景,依赖JVM优化提供更多控制和可预测性这解释了为什么在低竞争时可能更快(得益于锁升级),而在高竞争时。
2026-01-04 14:39:29
416
原创 Java中的synchronized锁在操作系统层面的具体实现机制详解
核心机制的最终保障是操作系统的互斥锁优化策略:JVM通过锁升级减少进入内核态的代价关键成本:用户态↔内核态切换、上下文切换适用性:重量级锁适合保护复杂操作,不适合高频短操作这就是为什么在某些场景下性能更好——它提供了更灵活的API和优化策略,但底层同样依赖于类似的系统机制。
2026-01-04 14:37:12
427
原创 Java中volatile和synchronized关键字的区别
能力包含关系:synchronized的功能包含volatile的功能,但反之不成立设计原则:应该使用能满足需求的最轻量级机制选择指南使用volatile变量被多个线程访问,但只有一个线程写入变量作为状态标志使用需要确保对象发布的可见性(如单例模式)使用操作是复合的(读-改-写)需要保护临界区需要保证多个变量的一致性更新重要原则:不要因为synchronized"更强大"就滥用它。并发编程中,应该选择最简单、最明确的工具来解决特定问题。volatile能解决的问题。
2026-01-04 14:31:02
286
原创 Java 中使用 volatile 分别修饰基本数据类型和引用数据类型的区别详解
特性基本数据类型引用数据类型可见性保证变量值修改可见引用变更可见有序性保证变量操作不重排引用赋值不重排原子性单次读写原子引用赋值原子作用范围变量本身引用本身,不包含对象内部线程安全需要额外同步需要额外同步(对象内部)
2026-01-03 21:14:51
277
原创 Java 使用 volatile + 双重检查锁(DCL)实现单例模式的最佳方案
为什么要这么做?因为在并发场景下,双重检查锁(DCL)确实存在严重问题——
2026-01-03 14:48:33
385
原创 Java 实现单例模式的双重检查锁定存在的问题代码详解
原代码的主要问题是缺少volatile关键字,这会导致指令重排序和内存可见性问题。在 Java 5 之前,双重检查锁定根本无法正确工作。建议使用静态内部类或枚举方式实现单例,这些方式既安全又简洁。
2026-01-03 14:45:10
265
原创 Java CountDownLatch 代码示例:协调多个线程的执行顺序(比赛起跑)
这个示例完美展示了 CountDownLatch 如何协调多个线程的执行顺序,是并发编程中的经典模式。发令枪响 countDown。所有运动员都准备就绪?所有运动员都到达终点?裁判宣布: 比赛开始。
2025-12-31 20:25:40
619
1
原创 Java CountDownLatch 代码示例及使用细节总结
初始化- 创建N个任务的计数器等待- 主线程等待完成- 每个任务完成后调用必须必须放在finally中建议:使用带超时的await()避免永久阻塞一次性的,用完即弃,不能重置重用。
2025-12-31 18:26:14
151
1
Premiere CS4教程——制作一个简单的相册
2013-03-17
spring boot发送普通文本邮件/HTML邮件/附件邮件/图片邮件完整代码.zip
2019-09-03
spring mvc 4+mybatis 3+bootstrap+逆向工程+分页插件实现增删改查完整项目源码
2018-07-01
Spring security+jwt服务鉴权完整代码.zip
2019-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅