摘要: 本文由 AI 生成,内容仅供参考,请仔细甄别。 在 Java 中,CMS 和 G1 垃圾收集器都支持“并发收集”以减少 Stop-The-World(STW)暂停时间。它们在并发标记和处理过程中,通过 写屏障(Write Barrier)机制 和 引用变更记录策略 来保证 GC 与应用线程并发运行时 阅读全文
posted @ 2025-06-04 21:49 MuXinu 阅读(38) 评论(0) 推荐(0)
摘要: 一、等待策略分类与原理 1. BlockingWaitStrategy(阻塞等待策略) 原理: 使用 ReentrantLock 和 Condition 实现线程阻塞,当没有新事件时,消费者线程被挂起,直到生产者发布新事件后唤醒。 特点: 低 CPU 消耗:线程挂起时不占用 CPU。 高延迟:线程唤 阅读全文
posted @ 2025-06-03 22:25 MuXinu 阅读(196) 评论(0) 推荐(0)
摘要: 在 Java 中,合理设置线程池的线程数至关重要,主要取决于 任务类型(CPU 密集型 / IO 密集型)以及 硬件资源。可以遵循以下原则: 1. CPU 密集型任务 特点:任务主要消耗 CPU 资源,如计算、加密、解压等。 公式: 核心线程数 = CPU 核心数 + 1 原因: 线程数等于 CPU 阅读全文
posted @ 2025-06-03 22:17 MuXinu 阅读(369) 评论(0) 推荐(0)
摘要: ZooKeeper 简介:核心概念、协议原理与实战应用 一、ZooKeeper 简介 ZooKeeper 是一个高性能的分布式协调服务,其本质是一个分布式、高可用的键值存储系统,尤其适用于以下场景: 配置管理 分布式锁 集群选举 命名服务 它基于 ZAB 协议(Zookeeper Atomic Br 阅读全文
posted @ 2025-06-03 22:08 MuXinu 阅读(83) 评论(0) 推荐(0)
摘要: 在 Linux 系统中,vmstat(Virtual Memory Statistics)是一个非常有用的命令行工具,用于报告虚拟内存、进程、CPU 活动和 I/O 状态等系统性能指标。它提供了丰富的系统运行时数据,可以帮助系统管理员诊断性能瓶颈和了解系统负载。 1. vmstat 命令的基本用法 阅读全文
posted @ 2025-03-20 17:43 MuXinu 阅读(159) 评论(0) 推荐(0)
摘要: Linux iostat 命令详解:CPU 和磁盘 I/O 监控 在 Linux 服务器上,性能优化和故障排查是日常运维的重要任务,而 iostat 命令是分析 CPU 负载 和 磁盘 I/O 的利器。 本文将深入解析 iostat 的使用方法,并通过 实例解析 CPU 和磁盘 I/O 指标,帮助大 阅读全文
posted @ 2025-03-20 17:33 MuXinu 阅读(386) 评论(0) 推荐(0)
摘要: 在 Java 性能调优和故障排查中,jstat、jmap 和 jstack 是三种常用的命令行工具,主要用于 监控 GC、查看内存快照、分析线程状态。 1. jstat(JVM 统计信息监控) 用于 实时监控 JVM 运行状态,主要关注 GC、类加载、编译 等信息。 option: 参数选项 -t: 阅读全文
posted @ 2025-02-14 10:33 MuXinu 阅读(109) 评论(0) 推荐(0)
摘要: CAP 理论 CAP(Consistency, Availability, Partition Tolerance)理论是由计算机科学家 Eric Brewer 提出的,主要用于描述分布式系统在一致性、可用性和分区容忍性之间的权衡关系。 CAP 三要素 一致性(Consistency) 所有节点在同 阅读全文
posted @ 2025-02-14 10:14 MuXinu 阅读(68) 评论(0) 推荐(0)
摘要: MySQL 主要有三种重要的日志机制:Undo Log、Redo Log 和 Binlog,它们在数据库事务管理、崩溃恢复和数据持久化等方面发挥重要作用。下面详细介绍这三种日志的作用、存储方式和工作原理。 1. Undo Log(回滚日志) 作用 主要用于 事务回滚,保证事务的原子性(Atomici 阅读全文
posted @ 2025-02-13 17:18 MuXinu 阅读(117) 评论(0) 推荐(0)
摘要: Kafka 在保证消息消费顺序性方面主要依赖 Partition(分区)级别的顺序保证,结合Producer 端的写入策略和 Consumer 端的消费方式,具体如下: 1. Partition 级别的顺序保证 Kafka 在单个 Partition 内保证消息的顺序性,即 Producer 发送的 阅读全文
posted @ 2025-02-13 09:51 MuXinu 阅读(515) 评论(0) 推荐(0)
摘要: Linux 提供了多种 零拷贝(Zero-Copy) 技术,主要用于 减少 CPU 开销、提高数据传输效率,适用于 高性能网络传输、文件 I/O 等场景。以下是 Linux 常见的 零拷贝技术: 1. sendfile() 🔹 适用于:文件传输(文件 → 套接字) 🔹 原理: 直接将文件从 内核 阅读全文
posted @ 2025-02-12 18:02 MuXinu 阅读(253) 评论(0) 推荐(0)
摘要: Kafka 之所以高效,主要是因为它采用了一系列 高吞吐、低延迟、可靠性高 的优化技术,涵盖了 存储结构、消息传输、数据复制、批量处理 等多个方面。以下是 Kafka 高效的关键因素: 1. 顺序写入(Sequential Write) Kafka 主要采用顺序写入磁盘,而非随机写入,大幅提高了磁盘 阅读全文
posted @ 2025-02-12 18:00 MuXinu 阅读(98) 评论(0) 推荐(0)
摘要: Java 内存模型(JMM - Java Memory Model) 1. 什么是 Java 内存模型(JMM)? Java 内存模型(JMM,Java Memory Model)是 Java 虚拟机(JVM)对多线程访问内存的抽象定义,主要用于屏蔽不同 CPU 和操作系统的内存访问差异,保证 Ja 阅读全文
posted @ 2025-02-12 17:59 MuXinu 阅读(149) 评论(0) 推荐(0)
摘要: Kafka 的同步机制(Replication & Synchronization) Kafka 通过副本同步机制(Replication & Synchronization)来保证数据的高可用性和可靠性。Kafka 的同步机制主要涉及以下几个核心概念: 1. 副本(Replication) Kaf 阅读全文
posted @ 2025-02-12 17:58 MuXinu 阅读(129) 评论(0) 推荐(0)
摘要: Kafka 如何保证消息不丢失 Kafka 主要从 生产者(Producer)、Broker(服务器)、消费者(Consumer) 三个方面保证消息不丢失。下面是完整的代码示例,包括关键的 Kafka 配置。 组件 关键配置 作用 生产者 acks=all 确保消息写入所有 ISR 副本 retri 阅读全文
posted @ 2025-02-12 17:57 MuXinu 阅读(204) 评论(0) 推荐(0)
摘要: JVM常用参数解析 在 Java 应用程序中,JVM(Java Virtual Machine)是运行代码的核心组件。为了优化应用性能,JVM 提供了一些可调的参数,帮助开发者和运维人员根据实际需求调整内存分配、垃圾回收行为、日志记录等。本文将详细介绍常用的 JVM 配置参数,帮助你更好地理解和优化 阅读全文
posted @ 2025-01-16 15:04 MuXinu 阅读(1060) 评论(0) 推荐(0)
摘要: 一、前言 在某站看up主的HomeAssistant教程时,发现up主使用一个绿联云的nas系统看起来很美观方便,搜索了一下发现其本质就是linux包装的,并且提供了客户端可以通过图形化界面操作,博主也玩过很多linux系统,基本都是连接显示器才有界面可以操作, 这种可以通过软件连接linux就能有 阅读全文
posted @ 2025-01-10 23:51 MuXinu 阅读(7037) 评论(0) 推荐(0)
摘要: 一、常见需要分析dump文件场景 1.1 fullGC频繁 1.2 堆空间溢出 1.3 元空间溢出 二、准备工具 能分析dump文件的工具很多比如Java自带的jvisualvm、商业软件Jprofile、mat(MemoryAnalyzerTool)、IDEA等,除了mat和jvisualvm其他 阅读全文
posted @ 2025-01-08 22:43 MuXinu 阅读(5522) 评论(0) 推荐(0)
摘要: 八字真言:“三级缓存,提前暴露” 此文只是介绍简单的情况便于理解,实际上场景会更复杂、情况会更多,但是原理相通。 一、什么是循环依赖? 从字面上来理解就是A依赖B的同时B也依赖了A,就像下面这样 上图是简单的循环依赖,也会存在A依赖B,B依赖C,C依赖A这种循环,或者更复杂的情况。 (在实际工作中应 阅读全文
posted @ 2024-03-30 23:46 MuXinu 阅读(69) 评论(0) 推荐(0)
摘要: 先看总结: 垃圾回收器 分类 作用位置 使用算法 特点 适用场景 Serial 串行 新生代 复制算法 响应速度优先 适用于单CPU环境下的Client模式 ParNew 并行 新生代 复制算法 响应速度优先 多CPU环境Server模式下与CMS配合使用 Parallel 并行 新生代 复制算法 阅读全文
posted @ 2024-03-30 22:55 MuXinu 阅读(162) 评论(0) 推荐(0)