自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(269)
  • 资源 (3)
  • 收藏
  • 关注

原创 深入Linux内核:VFS与文件系统的底层逻辑剖析

本文围绕 Linux 内核中虚拟文件系统(VFS)与文件系统的底层逻辑展开,先介绍 Linux 文件系统的基础目录结构与核心分类,阐述 VFS 作为 “统一翻译官” 的承上启下作用。重点剖析 VFS 的四大核心数据结构、三组核心接口,详解文件系统的注册与挂载流程,以 read () 操作为例精简解析文件操作全流程。最终总结 VFS 通过抽象封装屏蔽底层差异、实现多文件系统共存的核心价值,以及其体现的 Linux 内核分层协同设计思想,为开发者理解 “一切皆文件” 理念提供关键参考。

2026-03-23 13:52:27 496

原创 全网最全 Mermaid 指南:从基础语法到精美自定义样式的终极实战

Mermaid是一款基于JavaScript的开源图表工具,通过纯文本语法快速生成可视化图表。相比传统绘图工具,它具有四大优势:1)文档即代码,支持版本控制;2)自动布局,无需手动调整;3)无水印高清导出;4)语法简洁易上手。文章详细介绍了Mermaid支持的5种核心图表语法:饼图展示比例关系、流程图梳理逻辑步骤、时序图呈现交互过程、状态图描述状态转换、甘特图规划项目进度,每种图表都配有实例代码和渲染效果展示。Mermaid已成为程序员、产品经理等高效绘图的首选工具。

2026-01-23 11:16:48 2566

原创 大厂标配!Mockito 在 SpringBoot 单元测试中的落地实践

本文介绍了Mockito在SpringBoot单元测试中的核心应用。作为Java领域主流测试框架,Mockito通过模拟对象隔离外部依赖,解决传统测试中环境依赖、执行速度慢、边界场景难覆盖等痛点。文章以用户注册服务为例,详细讲解了Mockito与SpringBoot Test的集成使用,包括@MockBean注解、模拟对象行为定义、测试验证等核心步骤。通过Mockito可实现快速、稳定、全面的单元测试,使测试用例聚焦业务逻辑,提升测试效率和质量保障能力。

2025-12-21 13:59:31 936

原创 三大设计范式:TDD 筑基,DDD 破局,六边形架构解耦

程序员成长过程中需要掌握三大核心设计范式:测试驱动开发(TDD)通过"红-绿-重构"循环确保代码可靠性;领域驱动设计(DDD)将设计思路从技术导向转为业务导向,通过统一语言、领域模型等使代码贴合业务;六边形架构则通过端口-适配器模式解耦核心业务与外部依赖,使系统更具灵活性。这三种范式分别解决了微观代码可靠性、复杂业务模块化设计以及业务与技术彻底解耦的问题,形成层层递进的设计进阶之路。

2025-12-21 11:18:54 1247

原创 高并发下的 Redis 优化:如何利用HeavyKeeper快速定位热 key

本文聚焦高并发场景下Redis热key问题,剖析其引发节点过载、缓存雪崩的危害,指出Redis Monitor命令无法满足生产环境识别需求。核心方案为本地缓存+TopK筛选,但传统算法不适配流式场景。文章引入流式TopK最优解HeavyKeeper算法,阐述其“多层哈希表+指数衰减+最小堆”架构与“保大压小”逻辑,区分其与布隆过滤器的定位差异。详解RedisTopK模块安装与实操,提供热key识别、本地缓存联动的落地流程,为Redis热key治理提供完整方案。

2025-12-21 00:00:11 1118

原创 从 0 到 1 优化 Java 系统:方法论 + 工具 + 案例全解析

本文系统阐述了性能优化的方法论与实践路径。首先强调性能优化已成为工程师必备技能,并指出当前普遍存在的粗放式优化问题。文章提出性能优化应以量化指标为前提,包括吞吐量、响应时间等关键维度。在技术优化层面,重点分析了复用优化(缓冲与缓存)、计算优化(并行与异步)、结果集优化、资源冲突优化等六大切入点。同时深入探讨了系统资源瓶颈的识别方法,指出CPU、内存和I/O之间相互制约的复杂关系。全文强调性能优化不是单一指标提升,而是多维平衡的艺术,需要建立系统性认知框架。

2025-12-20 17:01:40 1294

原创 强化学习不只会打游戏:CPU 调频场景的落地思考与收获

本文从强化学习的三层核心结构(基础交互元素、动态运行元素、核心决策元素)切入,梳理其从游戏、棋牌博弈等经典场景到自动驾驶等工业场景的应用延伸。重点分享强化学习在 CPU 动态调频(DVFS)问题中的落地实践,阐述如何将该问题建模为序列决策任务,通过智能体与系统环境的交互实现性能与功耗的动态平衡,展现强化学习从 “娱乐验证” 到 “工业赋能” 的跨界价值。

2025-12-20 12:48:12 754

原创 30分钟搭建专业排版环境!VSCode+TeX Live 2025 保姆级教程

LaTeX是学术界的排版神器,通过代码指令实现专业文档的自动排版,尤其适合处理复杂公式和长文档结构。相比在线工具Overleaf,本地搭建VSCode+LaTeX环境具有离线可用、编译速度快、隐私安全、高度自定义等优势。搭建步骤包括:安装TeX Live核心、配置VSCode编辑器及LaTeX Workshop插件。本地环境支持高效写作,尤其适合论文、技术报告等专业文档的长期创作。

2025-10-17 22:10:27 12716 3

原创 Prometheus+Grafana轻松实现SpringBoot应用监控

首先在Spring Boot中集成Actuator和Micrometer,暴露Prometheus格式的监控端点;然后通过Docker部署Prometheus,配置拉取应用指标;最后部署Grafana并连接Prometheus数据源,实现可视化监控。该方案可全面监控应用健康度、JVM资源、HTTP请求等核心指标,帮助开发者快速定位性能问题,提升系统可靠性。整个流程包括端点配置、数据转换、服务部署和仪表盘展示,形成完整的监控闭环。

2025-10-02 09:37:16 1264

原创 Linux 性能瓶颈排查思路

本文介绍了Linux系统性能瓶颈的系统化排查思路,包括整体负载、CPU、内存、磁盘I/O、网络和应用层六个维度的分析方法。通过uptime、top、free、iostat、iftop等命令工具,可以快速定位性能问题根源。排查应遵循自上而下的流程:先看系统负载,再逐层检查硬件资源,最后排查应用层。掌握这套方法能有效避免盲目扩容,精准解决响应慢、吞吐下降等问题。

2025-09-23 17:28:32 1079 2

原创 Prompt工程实战指南:让你的大模型言听计从

Prompt工程(Prompt Engineering)是优化AI交互的关键技能,通过精准设计提示词引导大语言模型输出更符合需求的结果。其核心在于角色设定(如“资深程序员”)、明确任务(如代码解析)和上下文补充(如格式要求)。技巧包括使用界定符分隔指令、占位符填充变量、角色扮演控制风格,以及分步推理(COT)提升复杂任务准确性。Prompt本质是激活模型特定注意力路径的“语言触发器”,通过调整概率分布实现精准输出,具备零训练、高复用优势,是高效利用AI的核心方法论。(149字)

2025-07-25 17:30:48 1575

原创 突破 MySQL 性能瓶颈:死锁分析 + 慢查询诊断 + 海量数据比对实战

本文深入探讨MySQL性能优化中的关键问题与解决方案。首先从锁机制入手,分析表级锁、行级锁、间隙锁等不同类型及其适用场景,揭示死锁成因与排查方法。针对慢查询问题,系统梳理了索引缺失、SQL写法、连接池配置、Buffer Pool大小等多维度优化策略。最后通过典型场景实战,展示如何在20秒内高效比对200万条数据,提供代码级优化方案。文章以实战为导向,帮助开发者解决高并发场景下的数据库性能瓶颈问题。

2025-07-19 17:24:26 1106

原创 线程不卡且GC正常,我还是找出了分页地雷

一个看似普通的导出功能如何拖垮整个系统?某天系统突然变慢,排查发现资源使用正常,但日志暴增。最终定位到用户无筛选导出触发了大偏移SQL查询(limit 21000000,1000),导致数据库性能骤降。解决方案包括:限制最大导出页数、异步执行+超时控制、全局请求限时配置+限流保护。这次事故揭示了用户行为管控和系统弹性设计的重要性,也为类似问题提供了防范思路。

2025-07-03 16:18:46 1092

原创 实战避坑:MyBatis中${}拼接如何优雅又安全?

在业务代码中意外发现41条安全漏洞,其中SQL注入问题尤为突出。文章指出MyBatis中${}和#{}的关键区别:${}直接拼接SQL存在注入风险,而#{}会预编译参数。虽然某些场景(如动态表名)必须使用${},但需配合多重防护措施:1)白名单过滤;2)正则校验;3)表存在性验证;4)MyBatis的choose标签;5)XML层OGNL正则校验。通过这五层防护,可有效降低动态SQL带来的安全风险。

2025-06-30 20:22:00 1488

原创 阶乘求和全解析:从 Python 秒过到 C++ 手写高精度

本文以洛谷P1009阶乘求和问题为例,探讨了高精度计算在编程竞赛中的重要性。题目要求计算1!到n!的和,看似简单但在C++中却因整数溢出导致错误。通过分析发现n=50时50!远超long long范围,导致计算结果错误甚至出现负数。文章提供了两种解决方案:1)使用Python原生支持的高精度整数轻松解决;2)在C++中手动实现高精度加法与乘法。通过对比两种语言处理大数的差异,文章强调了高精度计算的核心思想,并推荐了LeetCode上的类似题目供延伸练习。

2025-06-29 14:14:41 1209

原创 Gson+OGNL:解析多层级嵌套JSON的终极武器

本文探讨了Java后端开发中解析复杂嵌套JSON数据的挑战。传统方式如Jackson实体类映射和JsonNode动态解析存在维护成本高、冗长易错等问题。推荐使用Gson结合OGNL表达式方案,通过轻量级Map转换和路径导航语法,实现灵活高效的JSON解析。OGNL支持多层属性访问、条件筛选、集合操作等复杂查询,显著提升开发效率和代码可读性,尤其适合结构动态变化的业务场景。

2025-06-22 13:06:30 1296

原创 从零搭建MySQL主从复制并集成Spring Boot实现读写分离

本文介绍了MySQL主从复制的原理与搭建方法。主从复制通过主库记录binlog日志,从库I/O线程获取并写入relay log,再由SQL线程执行来实现数据同步。文章详细说明了一主一从架构的搭建步骤,包括主从库的配置参数设置、复制用户创建、主库状态查看及复制进程启动等关键操作,并提供验证方法。应用层可通过ShardingSphere-JDBC实现自动读写分离,对业务代码透明。

2025-06-14 15:51:56 1270

原创 一文搞懂 MySQL 高读写负载的系统级优化方案

随着业务规模扩大,MySQL 单库单表在高并发读写场景下面临严重性能瓶颈,表现为查询缓慢、写入拥堵甚至服务不可用。本文系统梳理了应对高读负载的策略,包括读写分离、数据库分区、Elasticsearch 引入、缓存优化和数据仓库构建等;并针对写负载问题,重点介绍了 Sharding-JDBC 的原理与使用方法,通过分库分表有效分摊写入压力。文章结合 Spring Boot 实战示例,讲解 Sharding-JDBC 配置、分片算法及分页查询常见问题,帮助开发者构建稳定、高性能的数据库架构体系。

2025-06-08 21:15:07 929

原创 从REST到GraphQL:Java开发者的现代API进化指南

文章从GraphQL的产生背景出发,对比了GraphQL、REST和gRPC的核心特性差异,详细介绍了GraphQL的基础语法包括类型系统、查询、变更和订阅操作。最后通过Java实战案例,演示了如何使用Spring Boot和graphql-java快速构建GraphQL服务,涵盖依赖引入、Schema定义、Resolver编写等关键步骤。该技术特别适合数据需求复杂、追求高效开发体验的应用场景。

2025-05-30 16:47:42 1074

原创 大厂面试没那么难?全靠这份Java实习通关计划!

大厂面试没那么难?全靠这份Java实习通关计划!

2025-04-08 08:39:00 1524

原创 从63 秒到 0.482 秒:深入剖析 MySQL 分页查询优化

从63 秒到 0.462 秒:深入剖析 MySQL 分页查询优化

2025-01-23 11:50:28 1357

原创 从入门到精通:使用Arthas实现高效的Java问题排查

从入门到精通:使用Arthas实现高效的Java问题排查

2025-01-03 20:28:52 2042

原创 全面解析GitOps与ArgoCD:云原生部署的未来

全面解析GitOps与ArgoCD:云原生部署的未来

2025-01-01 15:26:10 1463

原创 Binlog 深度解析:数据灾难下的绝地反击

Binlog 深度解析:数据灾难下的绝地反击

2024-12-31 13:39:29 861

原创 CPU狂飙?四步揭秘Java高负载线程的背后

CPU狂飙?四步揭秘Java高负载线程的背后

2024-12-29 21:32:33 982

原创 SpringBoot揭秘:URL与HTTP方法如何定位到Controller

SpringBoot揭秘:URL与HTTP方法如何定位到Controller

2024-12-27 16:01:46 2008

原创 云原生基础设施指南:精通 Kubernetes 核心与高级用法

云原生通过微服务、容器、DevOps 和持续交付实现敏捷开发和稳定运行,Kubernetes 是实现这一目标的核心技术。通过了解 Kubernetes 的资源模型、控制器和网络组件,可以帮助企业构建高效、灵活和可扩展的云原生应用。

2024-12-08 14:39:41 1634

原创 软件架构:从传统单体到现代微服务的技术演变

软件架构:从传统单体到现代微服务的技术演变

2024-12-06 20:35:54 1922

原创 深入Pillow:处理图像下载中的意外挑战

深入Pillow:处理图像下载中的意外挑战

2024-11-04 15:08:16 1491

原创 软件著作权申请攻略:一文教你快速获取软著证书!

软件著作权申请攻略:一文教你快速获取软著证书!

2024-10-31 10:25:24 2643

原创 打造优雅API接口的黄金法则,让后端开发更高效

打造优雅API接口的黄金法则,让后端开发更高效

2024-10-25 20:07:16 2410

原创 一文掌握Kubernetes核心组件,构建智能容器管理集群

Kubernetes(K8s)是Google开源的容器编排平台,用于自动化部署、扩展和管理容器化应用。其架构分为控制平面和工作节点:控制平面负责集群管理,包含API Server、调度器、Controller Manager和ETCD;工作节点运行应用,包含容器运行时、Pod、Kubelet和Kube Proxy。K8s通过YAML文件定义应用部署策略,支持自动扩缩容和故障恢复。开发者使用kubectl工具操作集群,外部请求通过Ingress控制器访问服务。K8s实现了应用的高效部署和管理,降低了运维复杂性

2024-10-24 17:22:11 2547

原创 学生福利!手把手教你免费申请JetBrains专业版工具

学生福利!手把手教你免费申请JetBrains专业版工具

2024-10-23 11:18:40 4149 1

原创 互联网的无形眼睛:浏览器指纹与隐私保护攻略

互联网的无形眼睛:浏览器指纹与隐私保护攻略

2024-10-22 19:36:04 3327

原创 Jenkins中Git代码拉取失败?一文搞定!

Jenkins中Git代码拉取失败?一文搞定!

2024-10-22 10:37:24 5117

原创 MinIO快速入门:开启你的文件存储之旅

MinIO快速入门:开启你的文件存储之旅

2024-10-20 11:31:04 3052

原创 从静态到动态:实现表格自动滚动的全新体验

从静态到动态:实现表格自动滚动的全新体验

2024-10-14 16:30:15 3050

原创 从 Vim 到 VSCode:提升远程开发效率的秘密武器

从 Vim 到 VSCode:提升远程开发效率的秘密武器

2024-10-11 10:58:45 2982

原创 破解反编译:使用 ClassFinal 保护你的SpringBoot代码

在数字化时代,保护Java项目源代码安全至关重要。本文详细介绍了从源代码编译到生成可执行Jar包的全过程,并分析了反编译工具(如JD-GUI和CFR)的风险。为防止代码泄露,推荐使用ClassFinal Maven插件对Jar包进行加密,提供配置示例及启动方式。同时指出该插件在JDK 17与Spring Boot 3.3.0/3.2.0下的兼容性问题,建议使用Spring Boot 3.1.0确保稳定运行。通过加密和混淆技术,可有效降低商业代码被反编译的风险。

2024-10-08 19:09:06 5085 2

原创 告别繁琐!用 Light To Freedomen一键打造你的专属后台管理系统

告别繁琐!用 Light To Freedomen一键打造你的专属后台管理系统

2024-09-25 14:16:03 3246

算法与数据结构课程设计:棋盘覆盖实现(使用HTML,CSS,JS)

具体问题描述:在一个2k×2k 个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。 摘要:在本次棋盘覆盖算法设计过程中,要用4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。为解决此类问题,采用了分治算法来减小问题规模从而逐步求解问题来达到相应目的。 选定解题算法后,接下来就需要选择编程语言来实现相应的效果。在此报告中,主要是选用前端语言(JavaScript,html,css)在页面中来动态逐步实现棋盘覆盖的效果。经过努力的分析和设计,最终可以分布动态的呈现棋盘覆盖效果,并且在此基础之上,还可以前进,后退动态地呈现。不仅如此,还可以根据自己的需要选择L型骨牌的填充方式,即手动填充或者是自动填充。棋盘填充完毕后,另外也可以选择重置来重新设置相应的参数从而呈现全新的棋盘和特殊方格的位置。

2022-06-28

数字逻辑交通信号灯的设计

具体设计任务如下: 1. 熟悉交通灯的工作原理; 2. 写出交通灯控制器的设计方案; 3. 用仿真软件Multisim加以实现; 4. 写课程设计报告。 设计要求: 设计一个主干道和支干道十字路口的交通灯控制电路。要求: 1. 一般情况下,保持主干道通畅,主干道绿灯亮,支干道红灯亮,并且主干道绿灯亮不得少于45秒。 2. 主干道无车,支干道有车,则支干道绿灯亮,主干道红灯亮,并且支干道绿灯亮不得超过25秒。 3. 每次主干道或支干道绿灯变红灯时,黄灯先亮5秒。 4. 每次主干道或支干道红灯变绿灯时,黄灯不亮。

2022-06-28

天天影院在线管理平台(SSM)

该项目是一个电影信息管理、发布、展示平台,终端用户可以浏览、购票、评论。项目主要实现包括影院管理,电影管理,影厅管理,排片管理,选座售票,演员管理,影片评论, 影片排名,影片搜索,个人中心,权限控制等功能。系统分两大部分:第一部分后台管理,影院可以将近期即将上映的电影列表,排片计划、票价等信息录入系统中。第二部分是终端用户可以通过网页浏览各个影院近期的影片上映计划、影片演员等信息,并且用户可以直接通过网页购票。还可以对任何一部影片发表自己的评论,给影片打分,点赞。系统会根据各个影片的上映情况,展示票房排行榜,统计影片的综合得分。

2022-03-17

空空如也

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

TA关注的人

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