- 博客(123)
- 资源 (8)
- 收藏
- 关注
原创 JVM 调优与线上排查高频面试题全解:CPU 飙高、GC 频繁、OOM 分类与 G1/ZGC 选型(2026 招聘 JD 真题复盘)
按 2026 招聘 JD 与一线面经整理 12 道 JVM 高频题:内存区域与元空间、TLAB 与逃逸分析、GC Roots 与四种引用、对象晋升四条件、G1/ZGC 选型对比、RSet 与 To-space exhausted、CPU 100% 六步排查、五种 OOM 分类处置、GC 频繁调优顺序、容器化 CPU throttling 陷阱、故障复盘模板,附生产参数模板与速查表。
2026-11-06 08:43:39
101
原创 MySQL 高频面试题全解:索引失效、MVCC 与间隙锁、深度分页优化(2026 招聘 JD 真题复盘)
按 2026 招聘 JD 与一线面经整理 12 道 MySQL 高频题:B+树索引原理、聚簇索引与覆盖索引、最左前缀与索引失效真实场景、MVCC 与 ReadView、间隙锁与死锁实战、深度分页优化、慢 SQL 六步排查、count(*)、主从延迟、分库分表与两阶段提交,每题附可直接复述的工程化答案。
2026-11-05 08:21:37
228
原创 Redis 高频面试题全解:缓存三大问题、大 key 治理与分布式锁之争(2026 招聘 JD 真题复盘)
题目整理自 BOSS 直聘、拉勾、猎聘等招聘平台 Java 后端 JD 的 Redis 高频关键词与大厂面经:缓存穿透/击穿/雪崩、缓存一致性、大 key 热 key 治理、持久化选型、内存淘汰、Redis 7 新特性、分布式锁与 RedLock 争议、主从哨兵 Cluster 取舍,共 12 题附工程化参考答案。
2026-11-02 20:21:05
278
原创 Java 并发高频面试题全解:从线程池参数到虚拟线程(2026 一线大厂真题复盘)
按 2026 年 Java 后端招聘 JD 关键词整理的并发高频面试题:线程池 7 参数与核心线程数估算、Executors 四种池的 OOM 风险、拒绝策略选型、synchronized 锁升级与偏向锁废弃、volatile 原子性陷阱、AQS 公平/非公平、sleep/wait/park 对比、虚拟线程与 pinning,每题附追问链与答题模板。
2026-11-01 18:32:22
295
原创 二分答案:把「求最优解」翻译成「判断可行性」,四道题吃透这个套路
二分答案的核心是把"求最优解"翻译成"判定可行性"。本文给出下界与上界两套模板及取整方向分析,用珂珂吃香蕉、运送包裹、分割数组、磁力四道题演示完整套路与排查方法。
2026-11-01 17:11:19
192
原创 单调栈套路总结:从「下一个更大元素」到「接雨水」,一套模板打穿六道题
单调栈解决"左右第一个更大/更小元素"类问题的通用模板。结合每日温度、下一个更大元素、循环数组、柱状图最大矩形、接雨水五道例题,梳理存值还是存下标、何时弹栈、如何结算等易错点。
2026-11-01 17:08:40
135
原创 OpenCode 桌面版 + OpenSpec 完整入门指南
从零开始,掌握规范驱动开发的完整工作流一、什么是 OpenSpec?OpenSpec 是一个规范驱动开发(Spec-Driven Development)框架,它让 AI 不再是随机的代码生成器,而是按照你制定的规范文档一步步执行的工程助手。简单理解:先写清楚要做什么(规范),再让 AI 照着做(编码),而不是边聊边写、写到哪算哪。二、环境准备2.1 安装 Node.jsOpenSpec CLI 依赖 Node.js,版本要求 ≥ 20.19.0。node -v # 检查版本。
2026-07-16 08:58:36
735
原创 剖析Java正则表达式回溯问题
Java正则表达式回溯问题分析与解决方案 摘要:Java使用的NFA正则引擎采用回溯机制,当遇到嵌套量词、重叠匹配等危险模式时,会导致指数级性能下降甚至CPU满载。本文通过(a+)+等典型案例揭示了灾难性回溯的数学本质(复杂度可达O(2^n)),并提供了两种有效解决方案:占有量词(如a++)能永久锁定已匹配字符防止回溯;原子组((?>pattern))则将子表达式作为不可分割单元处理。文章还列出了高/中/低风险正则模式清单,帮助开发者在编写正则时规避性能陷阱,特别是处理用户输入等不可控场景时尤为关键。通过合
2026-06-10 16:57:48
240
原创 Windows 系统 Claude Code 安装教程
检查网络代理是否全局生效,确认账号已开通 Claude 付费订阅。下载地址:https://nodejs.org/重启电脑/配置 Node.js 系统环境变量。关闭所有终端重新打开,刷新环境变量。3. 执行官方安装脚本。
2026-05-16 17:26:44
1483
原创 生产环境 Java 线程溯源:精准定位创建时间与代码位置
不过,通过组合操作系统指令与合理的代码设计,我们依然可以抽丝剥茧,找到问题的根源。在生产环境中,当我们面对线程泄漏或线程数异常飙升的问题时,常常会产生两个核心疑问:这个线程到底是什么时候创建的?将 JVM 中的线程与操作系统中的轻量级进程(LWP)一一对应起来。看到它当前的状态,还能通过日志或异常堆栈直接看到它最初是由哪行代码创建的,从而将排查效率提升到极致。命令行工具是应急排查的良方,但要根治问题,最根本的方法是在代码中主动记录信息。,在创建线程时捕获当前的调用堆栈,从而永久记录下线程的“出生地”。
2026-05-12 14:04:01
256
原创 Git 中文乱码终极解决方案(git status / git log 通用)
本文提供了解决Git中文乱码问题的完整方案。通过3条全局配置命令可解决大部分乱码问题:禁用中文转义、设置日志和提交编码为UTF-8。若仍乱码,需设置终端编码为UTF-8或开启系统UTF-8支持。文章包含配置验证方法、临时解决方案和问题自查对照表,最后通过git log和status命令验证修复效果。建议优先执行3条Git配置命令,再根据情况调整终端或系统设置。
2026-05-09 09:47:40
717
原创 Linux 文件搜索神器:Find 命令完全指南
find是 Linux 最强大的文件搜索工具,支持多维度筛选+批量处理;基础用法满足日常查找,高阶用法适配运维自动化、安全排查、批量操作;结合grepxargsjar等命令,可解决企业级复杂场景问题;操作前务必预览文件,谨慎执行删除/修改操作。
2026-04-15 18:03:35
459
原创 Maven 常用命令完整版速查表
本文整理了Maven常用命令速查表,涵盖核心构建、依赖管理、测试打包等场景。主要内容包括:1) 核心生命周期命令如clean、compile、package等组合用法;2) 依赖管理命令如dependency:tree查看依赖树,dependency:purge-local-repository清理本地依赖的高级参数;3) 测试相关命令包括跳过测试、执行单个测试用例等;4) 打包命令如jar:jar、war:war及自定义打包;5) 项目辅助命令如查看有效POM等。提供可直接复用的组合命令,帮助开发者高效解
2026-04-14 14:56:16
539
原创 一次“白页”引发的故障:URL过长导致414请求URI过大问题分析与解决
摘要:本文分析了一个由URL过长导致的HTTP 414错误案例。用户在使用导出报表功能时出现白屏,原因是GET请求的URL参数过长超出服务器限制。通过将GET改为POST请求,将参数放在请求体中传输,有效解决了问题。文章详细对比了GET与POST的区别,并提供了优化后的代码实现,同时介绍了其他可能的解决方案。该案例提醒开发者在处理大数据量传输时应优先考虑POST请求。
2026-04-04 11:15:29
668
原创 修改 JAR 文件并重新打包的完整指南
本文提供两种修改JAR文件并重新打包的方法:Java命令行方式和Ant脚本方式。关键点在于处理Spring Boot可执行JAR时必须使用存储模式(不压缩),否则会导致启动失败。Java方式通过jar -cvfm0命令实现快速修改;Ant方式适合自动化流程,通过compress="false"确保正确打包。注意事项包括:保持目录结构完整、处理数字签名问题、保留正确的MANIFEST.MF配置。最后建议使用jar -tf命令验证打包结果。
2026-04-04 10:50:19
896
1
原创 Spring循环依赖深度解析:从三级缓存原理到跨环境“灵异”现象
循环依赖是指多个Bean之间相互持有对方的引用,形成闭环式的依赖关系。@Component@Autowired@Component@AutowiredSpring容器创建Bean的核心流程为“实例化对象→填充属性(依赖注入)→初始化”。当Bean A与Bean B形成双向依赖时,会陷入“实例化A需依赖B,实例化B需依赖A”的死锁困境,这也是循环依赖的核心矛盾所在。缓存级别缓存名称(源码变量名)存储内容核心作用一级缓存完全初始化完成的成品Bean(已完成属性注入及初始化方法执行)
2026-04-04 10:39:03
478
原创 深入理解网络分区架构:外网、DMZ与内网详解
网络分区架构的精华可以浓缩为一句话:外网是敌人,内网是核心,DMZ是接待大厅。外网:完全不可信,默认所有流量都是危险的。DMZ:半可信缓冲区,承受外部攻击,不能主动连接内网。内网:核心资产区,默认拒绝一切,只开放最小必要通道。这一模型诞生于传统网络时代,但在云计算、容器、零信任架构盛行的今天,其隔离思想依然适用——只是实现方式从硬件防火墙变成了安全组、网络策略和服务网格。最后送你一个检查清单:你的网络架构中,是否存在DMZ可以直接访问内网任意资源的情况?如果有,那就是一个巨大的安全隐患。
2026-04-03 21:59:39
1130
原创 Redis-cli 完全指南:从入门到精通
Redis作为高性能的键值存储系统,在日常开发运维中,redis-cli是我们最常用的工具。它不仅是简单的命令行客户端,更是一个功能强大的管理工具。本文将全面介绍redis-cli的使用方法,从基础命令到高级技巧,帮助你更好地驾驭Redis。redis-cli是Redis生态中不可或缺的工具,掌握它能极大提升开发和运维效率。本文涵盖了从基础操作到高级技巧的方方面面,但Redis的功能远不止于此。建议在实际使用中多实践、多总结,将理论知识转化为实战经验。
2026-03-27 18:40:55
526
原创 Vue项目打包为WAR文件部署Tomcat完整指南
本文介绍了将Vue项目打包为WAR文件并部署到Tomcat的完整流程。主要内容包括:1) 通过npm命令打包Vue项目生成dist文件夹;2) 创建WEB-INF目录并配置web.xml处理404路由问题;3) 使用jar命令将静态文件打包为WAR格式;4) 提供自动化打包脚本优化流程;5) 注意事项如publicPath配置、路由base设置等。该方法解决了企业环境中Vue项目部署到Java应用服务器的需求,实现了前后端统一部署管理,同时确保了Vue路由在History模式下的正常工作。
2026-03-25 11:21:32
525
原创 告别 taskkill 和 grep:Java 开发者 PowerShell 高阶实战指南
摘要 本文为Java开发者提供一套高效PowerShell 7+实战方案,覆盖JDK管理、构建优化、端口排查和日志处理等核心场景。特色功能包括:多JDK版本一键切换、Maven/Gradle极速构建、精准定位端口占用进程、流式处理GB级日志文件。所有脚本零第三方依赖,兼容Win10/Win11,显著提升Windows开发效率,解决环境乱码、依赖冲突、内存泄漏等典型问题,让Windows命令行体验比肩Linux。
2026-03-22 10:01:07
453
原创 国密SM2算法实战:原理、实战与最佳实践
摘要:本文深入解析国密算法SM2的原理与应用,介绍其作为我国自主研发的非对称加密算法,相比RSA具有更高安全性和性能优势。文章详细阐述SM2的核心特性、典型应用场景(数据加密传输、身份认证等)及核心用途(加密解密、签名验签)。通过Hutool+BouncyCastle实现方案,提供SM2工具类封装,解决底层兼容性问题,涵盖密钥生成、签名验签等核心功能实现,为金融、政务等关键领域提供合规安全的技术方案。
2026-03-20 14:57:45
527
原创 MyBatis数据变更记录拦截器实现方案与技术总结
本文介绍了基于MyBatis拦截器实现数据变更记录的技术方案。系统通过自定义注解标记需要记录变更的Mapper方法,在Executor.update()拦截点实现变更记录功能。核心设计包括:1)使用事务同步机制确保数据提交后再记录日志;2)支持字段级变更对比;3)提供完善的数据表结构存储变更记录。方案实现了对INSERT/UPDATE/DELETE操作的完整支持,并解决了事务环境下数据一致性问题,为业务系统提供了可靠的数据变更审计能力。
2026-03-17 17:06:40
358
原创 国密SM4算法实战:Hutool与原生BC库的CBC模式加解密实现
*** SM4算法常量定义*/// SM4算法名称// CBC模式+PKCS7填充(国密推荐)// 密钥长度(16字节=128位)// IV长度(CBC模式必需,16字节)SM4核心特性:128位分组/密钥长度,CBC模式需16字节随机IV,推荐PKCS7Padding填充;实现方式对比:BC原生实现更灵活,Hutool封装更简洁,二者可互通(BC加密→Hutool解密);核心规范:密钥必须16字节、IV必须与加密端一致、禁止ECB模式、密钥需安全管理。
2026-03-17 13:19:33
831
原创 Maven 避坑指南:高频配置错误总结 & 解决方案
摘要: 本文总结了Maven配置中的高频错误及解决方案,涵盖POM基础配置、依赖管理、构建插件和多模块项目等常见问题。重点包括:GAV坐标缺失导致的编译错误、依赖版本冲突的排查方法(dependency:tree)、scope范围滥用引发的运行时异常、插件版本与JDK不匹配问题,以及多模块项目的循环依赖和继承管理。提供了阿里云镜像配置示例、Maven排查三连命令(clean compile -X/dependency:tree/effective-pom),帮助开发者快速定位和解决90%的Maven配置问题
2026-03-09 11:36:16
598
原创 FastDFS 分布式文件系统:从安装部署到集群运维全指南
数据库设计范式与反范式化:从理论到实践的权衡艺术 本文系统解析了数据库设计的三大范式(1NF、2NF、3NF)及其应用场景,指出范式化设计的核心在于消除数据冗余与异常,但可能导致查询性能问题。同时深入探讨了反范式化的必要性——通过合理冗余提升读性能,尤其适用于高并发读场景。文章通过电商订单等实例对比两种设计方法的优缺点,并给出决策指南:应先遵循3NF设计,再针对性反范式优化。最后指出在微服务和NoSQL架构下,数据库设计需要新的考量维度。
2026-03-09 06:24:12
510
原创 【深度解析】数据库设计核心:从三大范式到反范式化的权衡艺术
数据库设计范式与反范式化:从理论到实践的权衡艺术 本文系统解析了数据库设计的三大范式(1NF、2NF、3NF)及其应用场景,指出范式化设计的核心在于消除数据冗余与异常,但可能导致查询性能问题。同时深入探讨了反范式化的必要性——通过合理冗余提升读性能,尤其适用于高并发读场景。文章通过电商订单等实例对比两种设计方法的优缺点,并给出决策指南:应先遵循3NF设计,再针对性反范式优化。最后指出在微服务和NoSQL架构下,数据库设计需要新的考量维度。
2026-03-08 09:56:25
426
原创 Linux终端常用快捷键|高效操作必备指南
本文系统整理了Linux终端常用快捷键,帮助用户提升命令行操作效率。主要内容包括:光标移动快捷键(如Ctrl+a/e快速跳转行首尾)、命令编辑快捷键(如Ctrl+w剪切单词)、历史命令调用技巧(如Ctrl+r反向搜索)以及进阶功能(如Tab补全)。针对常见的Alt键冲突问题提供了解决方案,并建议用户从高频快捷键入手逐步掌握。这些技巧能大幅减少重复操作,适合各层次Linux用户学习和参考。
2026-03-08 09:44:10
560
原创 Redis BGSAVE 内存不足异常完整解决方案
摘要: Redis执行BGSAVE时因内存不足导致持久化失败,触发stop-writes-on-bgsave-error机制禁用写操作。解决方案包括:1) 紧急恢复:临时设置stop-writes-on-bgsave-error no;2) 根本修复:修改vm.overcommit_memory=1允许内存超分配;3) 优化建议:调整持久化策略、限制Redis内存、监控持久化状态。关键参数解析了overcommit_memory三种策略的差异及应用场景,强调需平衡数据一致性与系统可用性。(149字)
2026-03-08 09:36:26
367
原创 记SpringBoot升级Tomcat引发的两类典型问题及解决方案
本文记录了SpringBoot升级Tomcat至9.0.75后遇到的两类问题及解决方案:1)URL包含双斜杠导致404,可通过规范URL或配置Tomcat恢复合并斜杠功能;2)DELETE请求报错,需开启HiddenHttpMethodFilter支持POST模拟DELETE请求。文章分析了问题原因,给出了配置文件与代码两种解决方案,并建议建立URL规范检查机制,统一请求方式。升级依赖前应查阅变更日志,重点关注核心组件行为变更。
2026-03-08 08:43:57
1403
原创 HTTPS页面中img标签图片无法显示的问题排查与彻底解决
HTTPS图片加载失败解决方案摘要 核心问题:网站升级HTTPS后图片无法显示,主要由于浏览器拦截HTTP资源请求(混合内容问题)。 快速解决: 使用upgrade-insecure-requests指令自动转换HTTP为HTTPS请求 通过meta标签或服务器配置(推荐)实现 进阶方案: 结合block-all-mixed-content禁止所有非HTTPS资源 使用img-src指令指定合法图片来源 其他排查: 图片服务器防盗链设置 HTTPS证书有效性检查 资源路径/跨域问题验证 浏览器缓存/插件干扰
2026-03-08 08:32:24
1292
原创 达梦数据库的常用操作
达梦数据库(DM)作为国产关系型数据库的代表,其日常操作围绕表、字段、索引等基础对象展开,同时结合表空间管理、数据库状态查询、权限管理等核心运维能力,形成完整的操作体系。本文在原有基础操作的基础上,补充等内容,让操作更具实用性和完整性。
2026-03-07 16:53:13
707
转载 达梦数据库性能优化技术指南
《达梦数据库性能优化技术指南》摘要 本文系统介绍了达梦数据库的性能优化方法,包含六大核心内容:1)数据库架构优化,针对不同业务场景推荐数据守护集群、读写分离等架构方案;2)关键参数配置,详细说明内存、并发、优化器等参数的调优策略;3)SQL优化实战,提供慢SQL定位、执行计划分析、索引优化等实用技巧;4)统计信息管理,指导如何收集和维护优化器所需的统计信息;5)性能诊断工具,介绍ET工具和DBMS_SQLTUNE的使用方法;6)表设计优化,分析行存储、列存储等表类型的适用场景。文中包含大量示例代码和配置建议
2026-03-07 16:27:49
114
原创 Linux Grep 命令终极指南:从基础搜索到正则高阶实战
本文全面介绍Linux中grep命令的使用方法,从基础到高阶技巧。主要内容包括:基础搜索与统计(-n显示行号,-c统计次数)、上下文关联(-A/B/C查看前后内容)、文件级操作(-l/-L筛选文件)、正则表达式(锚点匹配、反向引用、单词边界)、递归搜索(-r配合--include过滤文件类型)以及提取异常堆栈的高阶技巧(-Pzo多行匹配)。文章还提供了实用场景建议和性能优化技巧,帮助用户精准高效地处理文本数据。掌握这些方法可以大幅提升日志分析和代码检索效率。
2026-03-07 16:18:02
608
原创 Windows 10 下 MySQL 5.5 至 5.7 升级完整指南
在项目迭代过程中,常会遇到因产品线版本统一要求,需将低版本MySQL升级至5.7的场景。本文将详细讲解Windows 10系统下MySQL 5.5升级5.7的完整步骤,包含前期准备、实操流程、数据迁移、密码重置、常见错误处理及性能优化、安全配置要点,确保升级过程平稳、数据无损。
2026-03-05 16:03:28
584
原创 MyBatis 配置复用详解:从入门到精通
MyBatis配置复用技巧摘要 本文系统介绍了MyBatis配置复用的核心方法。SQL片段复用方面,展示了基础片段定义、参数化片段、条件片段组合与嵌套使用等技巧。resultMap复用部分重点讲解了继承机制,通过基础映射定义实现复杂对象映射的复用。这些技术可有效减少重复代码,提升配置可维护性,适用于大型项目中MyBatis的优化实践。
2026-03-05 12:47:22
800
原创 Spring事务全攻略:从基础配置到高级避坑
勘正要点:原文是Spring Framework的底层配置,仅对编程式事务生效;声明式事务需通过或数据源层面配置。
2026-03-03 14:34:34
689
原创 达梦数据库主键冲突处理双雄:MERGE与IGNORE HINT详解
达梦数据库处理主键冲突的两种主要方法:MERGE INTO支持"存在更新/不存在插入"的复杂逻辑,适合批量数据同步和ETL过程;IGNORE HINT则简单跳过冲突行,适合日志入库等简单场景。MERGE功能全面但语法复杂,IGNORE HINT简洁高效但功能单一。选择时应根据业务需求:需要复杂逻辑判断选MERGE,只需跳过冲突选IGNORE。两种方法都支持批量处理,MERGE性能更优但IGNORE在简单场景下更高效。
2026-03-02 14:26:06
1070
原创 历史项目升级踩坑记:MySQL 8 + Hibernate 3 别名失效之谜
在 MySQL 8.0 中,useOldAliasMetadataBehavior=true是老旧 Java 项目(特别是 Hibernate 3、iBatis 早期版本)平滑升级的“救命稻草”。它解决了因 JDBC 驱动回归 SQL 标准而导致的别名元数据获取失败问题。
2026-03-01 18:18:48
443
原创 分布式系统三大核心技术:静默失效、即发即弃与指数退避策略详解
本文深入解析分布式系统中的三大核心技术:静默失效、即发即弃与指数退避策略。静默失效是系统未抛出错误而继续运行的"隐形杀手",需通过显式错误处理、全链路监控等方案防范。即发即弃通过异步模式牺牲可靠性换取性能,适用于日志记录等非关键任务,但滥用会引发静默失效。指数退避策略采用智能重试机制,通过指数增长+随机抖动+最大限制的方式优雅处理瞬态错误。三者相互关联,开发者需在性能、可靠性与可维护性间取得平衡,针对不同场景选择合适的解决方案。
2026-03-01 13:44:58
523
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅