自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

代码时光

高山仰止,景行行止.虽不能至,心向往之。

  • 博客(133)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL 线上 SQL 性能问题定位方法

通过以上方法可以系统性地定位并解决大多数 SQL 性能问题。对于复杂场景,可能需要结合多种工具和方法进行深入分析。

2025-06-23 10:09:15 926

原创 SVN合并指南,从dev合并部分revision到release指南

点击Show Log,挑选需要合并的单号。,来隐藏掉已经合并的commit。

2025-06-18 10:11:37 220

原创 Netty流量控制核心设计解析:高水位机制深度揭秘

Netty中的水位机制(High/Low Water Mark)是流量控制的核心设计,通过写入缓冲区阈值管理实现控制。

2025-06-18 10:00:00 916

原创 Akka默认分片策略LeastShardAllocationStrategy源码剖析

特性说明分配策略始终选择当前分片最少的节点再平衡触发基于固定阈值差 (rebalanceThreshold)并发控制限制同时迁移数 (maxSimultaneousRebalance)优点实现简单,资源开销小局限不考虑分片负载差异,仅基于计数。

2025-06-17 19:30:00 800

原创 在Akka Cluster Sharding 中,分片(Shard)如何映射到具体的 ShardRegion?

在 Akka Cluster Sharding 中,分片(Shard)如何映射到具体的 ShardRegion(即分配到哪个节点)是由。,但还没有决定这个分片在哪个物理节点(如果默认策略不满足需求,可以实现。首先,Akka 使用。

2025-06-17 09:43:58 584

原创 【游戏项目】大型项目Git分支策略与开发流程设计构想

对于大多数游戏项目,**方案一(特性开关)+ 方案四(功能分支隔离)**的组合通常是最佳选择,既能保持开发流程的流畅性,又能灵活控制功能发布。这种分支策略和开发流程提供了结构化的方法来管理游戏开发中的复杂性,同时保持了足够的灵活性来应对游戏开发中常见的变化和迭代需求。通过这种规范化的流程,可以确保功能开发有序进行,减少合并冲突,方便团队协作和代码追溯。代码审查通过后,合并到develop分支。当develop分支功能足够发布时,创建。对于游戏项目开发,我推荐采用改进的。在功能分支上进行开发,定期提交。

2025-06-11 17:00:00 715

原创 Java头上的七柄达摩克利斯之剑——那些优雅的危险

在Java语言体系中,"达摩克利斯之剑"常被用来隐喻那些看似优雅却暗藏危机的语言特性或机制。

2025-06-09 17:00:00 229

原创 ECS架构之Entity设计与传统OOP的碰撞思考

在ECS(Entity-Component-System)架构 中,Entity(实体)本身不需要显式分类型。这是 ECS 的核心设计思想之一:实体是纯粹的、无类型的标识符(ID),其行为和属性完全由 组合的组件(Component) 决定,而非通过类型继承或分类实现。

2025-06-09 11:50:32 341

原创 装饰模式(Decorator Pattern)重构java邮件发奖系统实战

现在我们有个如下的需求,设计一个邮件发奖的小系统,// 1. 定义核心接口。

2025-06-06 10:30:24 689

原创 Java 进程大对象分析与优化指南

标准界定:单个对象占用堆内存 ≥ 512KB高危对象:持续存活时间超过 Full GC 周期 ×3异常增长:对象体积在 1 小时内增长超过初始值 10 倍。

2025-06-04 16:00:00 939

原创 大规模JSON反序列化性能优化实战:Jackson vs FastJSON深度对比与定制化改造

在实测中,经过深度优化的Jackson方案在500KB数据场景下,相较FastJSON实现了45%的内存下降和30%的CPU耗时优化。但需注意:FastJSON需强制开启safemode防注入攻击。建议开发团队根据数据特征选择技术方案,在性能与安全之间找到最佳平衡点。

2025-05-30 18:00:00 1103

原创 Apache Kafka 实现原理深度解析:生产、存储与消费全流程

设计原则实现手段收益顺序读写分区日志追加写高吞吐(百万级 QPS)零拷贝低延迟(毫秒级)分布式共识ZooKeeper/KRaft 协调高可用(99.99% SLA)批量处理消息批次 + 压缩高网络效率掌握 Kafka 的核心实现原理,有助于在业务场景中做出合理架构决策,充分发挥其在大规模实时数据流处理中的威力。

2025-05-29 16:00:00 1098

原创 32核64G内存的物理机上,Netty理论能承载多少连接?

在32核64G内存的机器上,Netty的承载连接数受业务场景、配置优化和操作系统调优的影响。理论估算显示,64G内存可支持64K~6M空闲连接,32核CPU可处理10W~50W活跃连接。实际场景中,纯心跳保活可支持1M~2M连接,简单Echo服务为500K~1M,游戏网关为100K~300K,高频交易系统为50K~100K。关键优化措施包括操作系统调优(如文件描述符限制和TCP参数调整)、Netty配置优化(如使用Epoll边缘触发和内存池)以及JVM调优(如使用G1垃圾回收器)。通过压力测试和监控关键指标

2025-05-21 16:00:00 780

原创 深入解析Java四大引用类型:从强引用到虚引用的内存管理艺术

使用软引用缓存玩家常用数据使用弱引用管理事件监听器避免在核心服务中使用弱/软引用内存敏感场景。

2025-05-19 18:00:00 911

原创 十年DBA总结的MySQL避坑指南:从锁机制到性能优化

最好的优化是避免优化。

2025-05-14 19:00:00 390

原创 MySQL锁的九重境界:从共享锁到临键锁的进阶之路

共享锁(S锁)、排他锁(X锁)。悲观锁乐观锁。表级锁行级锁页面锁。记录锁间隙锁临键锁。锁类型特点适用场景共享锁允许多个事务读,阻塞写读多写少的场景排他锁阻塞其他事务的读写写操作频繁的场景悲观锁先加锁后操作高并发写场景乐观锁通过版本号控制读多写少的场景表级锁锁定整张表,开销小数据量小、并发要求低的场景行级锁锁定单行,开销大高并发、写操作频繁的场景页面锁锁定一页数据,开销适中中等并发、数据量较大的场景记录锁锁定单条记录精确锁定某一行间隙锁。

2025-05-12 19:00:00 1138

原创 ECS在游戏服务器中的应用:Java实现与最佳实践

实体(Entity)游戏中的基本对象,通常只是一个唯一的标识符(ID),不包含任何逻辑或数据。组件(Component)纯数据结构,用于描述实体的属性(如位置、速度、生命值等)。系统(System)处理逻辑的模块,负责更新符合特定组件组合的实体。ECS的核心思想是通过组合而非继承来实现功能,从而避免传统面向对象设计中的“类爆炸”问题。ECS是一种强大的架构模式,特别适合高性能游戏服务器的开发。通过Java实现,我们可以充分利用其面向对象的特性,同时结合ECS的数据驱动优势。

2025-05-09 15:40:47 468

原创 Vue3 + Typescript 基础进阶与实战完全指南

/ 定义 props 类型// 定义 props 类型 const props = defineProps < {} >();// 定义 emits 类型 const emit = defineEmits < {} >();// 定义 props 类型 const props = defineProps < {} >();// 定义 emits 类型 const emit = defineEmits < {} >();string;

2025-05-09 14:53:53 878

原创 Netty跨平台通信的第一道坎:大小端字节序处理指南

场景推荐方案默认网络通信使用Netty的大端序(无需额外配置)与C++交互显式设置高性能场景通过池化缓冲区并统一字节序关键原则:在协议设计阶段明确字节序,并在代码中显式声明,避免跨平台时的隐蔽错误!

2025-04-29 11:45:00 370

原创 TCP粘包拆包全攻略:Netty实战解决高并发通信难题

TCP粘包TCP(传输控制协议)是一种面向流的协议,它不保留消息边界。发送方多次写入的数据可能会被接收方一次性读取,这种现象称为粘包(Sticky Packet)。粘包不是TCP协议的缺陷,而是其设计特性导致的。粘包本质:TCP流式传输的特性,需应用层自行处理消息边界。

2025-04-25 17:30:00 433

原创 软件设计中的整洁架构:让代码像乐高一样优雅

整洁架构✅业务逻辑独立:不依赖数据库、框架、UI 等具体技术。✅易于扩展和维护:改需求或换技术时,只需改少量代码。✅高度可测试:业务逻辑能单独测试,不依赖外部服务。它的设计灵感来源于 “洋葱模型”,代码像洋葱一样分层,外层依赖内层,但内层绝不依赖外层!业务逻辑与技术细节分离(像乐高一样模块化)。内层不依赖外层(避免被框架绑架)。通过接口解耦(轻松替换实现)。如果你受够了“改一行代码炸整个系统”的痛苦,不妨试试整洁架构!

2025-04-21 19:00:00 1054

原创 领域驱动设计:从餐厅到代码,轻松理解 DDD

领域驱动设计(DDD)是由 Eric Evans 提出的一种软件设计方法,旨在通过深入理解业务领域来构建复杂的软件系统。DDD 的核心思想是将系统的设计和实现与业务领域紧密结合,通过领域模型来指导开发过程。// 用户实体// 商品实体// 订单实体领域驱动设计(DDD)是一种通过深入理解业务领域来构建复杂系统的方法论。它通过领域模型、限界上下文、聚合等概念,帮助开发者更好地组织和管理系统。DDD 强调业务逻辑与领域模型的紧密结合,从而提高系统的可维护性和可扩展性。

2025-04-18 12:00:00 983

原创 MySQL 缓存机制全解析:从磁盘 I/O 到性能优化

MySQL 的缓存机制通过多级缓存(如缓冲池、日志缓存、操作系统缓存等)显著提升了数据库的性能。合理配置和优化这些缓存,可以最大限度地减少磁盘 I/O 和系统开销,从而满足高并发、高性能的业务需求。

2025-04-15 11:17:47 869

原创 高性能IO的基石:零拷贝(Zero-Copy)技术全解析

零拷贝是一种优化技术,旨在减少数据在内核空间和用户空间之间的拷贝次数。将数据从磁盘或网络读取到内核缓冲区。将数据从内核缓冲区拷贝到用户缓冲区。将数据从用户缓冲区拷贝到目标位置(如网络或磁盘)。这些拷贝操作会消耗 CPU 和内存资源,尤其是在处理大量数据时。零拷贝技术通过直接在内核空间传输数据,避免了不必要的拷贝,从而提高了性能。零拷贝技术通过减少数据拷贝次数,显著提升了 I/O 操作的性能。

2025-04-11 18:32:54 360

原创 MySQL InnoDB设计图鉴——核心组件讲解

MySQL InnoDB架构解析:Buffer Pool、Change Buffer、自适应哈希索引与Log Buffer

2025-04-10 10:11:40 757

原创 JVM调优排查利器——线程篇(jstack)

jstack 是分析 JVM 线程问题的重要工具,可以帮助定位死锁、线程阻塞、CPU 占用过高等问题。通过结合 top 和其他工具,可以更高效地分析线程状态和调用栈。

2025-04-08 20:28:41 512

原创 记一次线上cpu占用率爆炸的事故! 完整FullGC、大对象排查一条龙!

jstack 是分析 JVM 线程问题的重要工具,可以帮助定位死锁、线程阻塞、CPU 占用过高等问题。状态的线程,并检查它们等待的锁。如果多个线程互相等待对方持有的锁,则可能存在死锁。状态的线程,并检查它们的调用栈,找出占用 CPU 的代码。FGC 为 1868,Full GC 次数过多,说明。状态的线程,并检查它们等待的条件或锁。这里其实我已经发现了我们内存泄露的问题~可以看到垃圾回收期的线程很活跃~在线程转储文件中,查找。在线程转储文件中,查找。在线程转储文件中,查找。

2025-04-08 19:52:37 265

原创 Java 泛型的逆变与协变:深入理解类型安全与灵活性

协变(Covariance)协变是指子类型关系在泛型中得以保留。例如,如果 Cat 是 Animal 的子类,那么 List 可以被视为 List 的子类型。协变extends T>,用于只读操作,保证类型安全。逆变super T>,用于写入操作,提供灵活性。PECS生产者使用 extends,消费者使用 super。通过理解协变与逆变,你可以更好地设计泛型方法,提升代码的灵活性和安全性。希望本文能帮助你掌握 Java 泛型中的这一重要概念!

2025-04-08 10:25:38 540

原创 【架构师之路】分布式事务通关秘籍:原理、挑战与主流解决方案

分布式事务指事务的参与者、资源服务器及事务管理器分布在不同的网络节点上。网络不可靠:节点间通信可能延迟、丢失或重复。数据一致性:跨多个数据库或服务的数据需保持同步。性能与可用性:需在一致性和系统可用性之间权衡(CAP理论)。分布式事务是微服务架构的核心挑战之一,需结合 CAP/BASE 理论选择合适方案。工业级框架(如 Seata)降低了实现复杂度,但开发者仍需根据业务特点权衡一致性、可用性与性能。

2025-03-26 15:00:00 1595

原创 想微调特定领域的 DeepSeek,数据集究竟要怎么搞?

从最上层的预训练模型开始,我们先划分出是否为多模态(例如让模型具备对图片、语音、视频的理解和生成能力)微调,还是纯文本微调(仅让模型具备生成文字的能力)。在文本微调中,监督微调是目前应用最广泛也是最常用的微调技术,当然目前我们普通人想在特定行业里去微调自己的大模型,最常用的也是监督微调,所以监督微调的数据集格式是我们后续重点学习的内容。然后其他微调技术还包括无监督自监督微调强化学习微调等等,这些我们只做简单了解,不用过多深入。

2025-03-24 13:36:58 1086

原创 分布式系统设计陷阱,白话CAP理论

这就是 CAP 理论的核心。

2025-03-23 17:00:00 653

原创 大模型微调(Fine-tuning)实战:快速使用 colab下的unsloth 零成本打造定制化模型

最近b站上刷到一个博主,大模型DeepSeek,实现本地运行,打造一款定制化的LLM,下面是一些关键步骤和代码。UP主的案例是微调deepseek,打造一个。

2025-03-21 18:11:53 1526

原创 【架构师之路】从15% CPU到3%:我们如何通过替换日志框架拯救了服务器集群?

Log4j2:适用于复杂的日志需求,对性能要求较高的场景,以及需要灵活配置和扩展的项目。Logback:适用于简单的日志记录需求,对性能要求不是特别高的场景,以及希望快速上手的项目。综合建议:新项目优先选择 Log4j2,存量系统根据改造成本评估迁移价值。

2025-03-20 18:00:00 884

原创 大模型应用开发所需的技术栈概览

在大型 AI 模型中,RAG(Retrieval-Augmented Generation)是一种模型架构,它结合了检索(Retrieval)和生成(Generation)两种方法,用于处理自然语言生成任务。

2025-03-20 10:52:13 596

原创 订单消失、余额乱跳!分布式系统工程师必须跨越的ABA天坑

在分布式系统中,ABA 问题可能导致数据不一致和错误的业务逻辑。通过引入版本控制、使用全局唯一标识符、乐观锁、分布式协调服务和分布式事务等方法,可以有效地解决这一问题。选择合适的解决方案应根据具体的系统架构和业务需求进行评估。

2025-03-19 18:00:00 460

原创 从NullPointer到数据混乱:this逃逸为何是Java开发者的‘帕里斯通‘?

this逃逸是多线程编程中的典型陷阱,其隐蔽性可能导致严重的并发问题。避免在构造函数中传递this引用:尽量避免在构造函数中将this引用传递给其他作用域或线程。延迟初始化:延迟初始化对象,确保对象完全构造完成后再将其暴露给外部。工厂方法模式:使用工厂方法创建对象,确保对象的构造和初始化过程在同一作用域内完成。同步机制:在必要时使用同步机制来保护对象的访问,避免多线程环境下的问题。

2025-03-18 18:00:00 937

原创 【架构师之路】线程池参数优化实战——如何根据QPS设计合理线程数?

基准测试先行:通过JMeter/Gatling获取任务执行时间分布监控驱动优化:实时观察aqueue_size等指标弹性伸缩设计:结合K8s水平扩容与线程池垂直调整。

2025-03-18 13:33:02 957

原创 【架构师之路】TCC 分布式事务解决方案与实现

TCC 是一种灵活而高效的分布式事务解决方案,通过将事务分解为 Try、Confirm 和 Cancel 阶段,确保了事务的一致性和可靠性。在设计分布式系统时,考虑使用 TCC 可能是一个不错的选择,特别是在需要更高性能和更灵活的事务管理方式时。

2025-03-17 17:00:00 787

原创 【架构师之路】每秒崩溃100次到百万并发:四大限流算法如何拯救你的系统?

随着互联网和移动应用的蓬勃发展,系统的稳定性和可靠性变得至关重要。在面对突发流量和恶意攻击等挑战时,限流器算法的重要性愈发凸显。限流器算法作为保护系统免受过载的有效手段,扮演着关键的角色。它们能够有效地控制请求的处理速率,防止系统被过多请求淹没,从而保障系统的正常运行并提升用户体验。在这篇文章中,我们将探讨不同类型的限流器算法,包括漏桶算法、令牌桶算法、固定窗口算法和滑动窗口算法,深入剖析它们的原理、特点以及在实际场景中的应用。

2025-03-17 14:34:25 824

原创 【架构师之路】从Java中不同Hash表,探索Hash冲突的解决方法。

Hash冲突是哈希技术中不可避免的现象,但通过合理选择冲突解决策略(如链地址法兼顾灵活性与性能,开放定址法优化内存)、设计高效哈希函数,以及动态调整负载因子,可显著降低其影响。实际应用中需根据数据规模、访问模式和硬件条件综合权衡。

2025-03-14 05:00:00 719

kali-cookbook PDF大全

Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。由Offensive Security Ltd维护和资助。最先由Offensive Security的Mati Aharoni和Devon Kearns通过重写BackTrack来完成,BackTrack是他们之前写的用于取证的Linux发行版 。Kali Linux预装了许多渗透测试软件。

2020-07-16

空空如也

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

TA关注的人

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