自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

郭大侠的技术空间

主要用来记录日常开发中踩过的坑、读源码时的一些思考,以及一些值得沉淀下来的实践经验。写这个博客的初衷很简单——很多问题解决完就忘了,下次遇到类似的还要再查一遍,索性把过程记下来,既是给自己留个档,也顺手分享给大家,欢迎交流学习。

  • 博客(47)
  • 收藏
  • 关注

原创 AI Agent在研发中的位置:我们究竟可以用它来做什么?

AIAgent可协助研发人员高效完成代码查找、流程梳理、功能开发、Bug排查、测试补充与代码审查等任务,显著减少重复性操作,提升开发效率。其核心价值在于将开发者从繁琐的执行中解放,聚焦于业务判断与技术决策。正确使用需明确目标、限定范围、提供上下文,并由人主导验收与验证。关键在于:以合理方式协作,而非盲目依赖,确保交付质量。

2026-10-30 11:48:54 6

原创 Java语法糖:那些让代码更好写的贴心设计

Java 语法糖让常见操作写起来更简洁,但省掉的代码背后,仍有具体的执行规则和成本。用好语法糖,关键是知道它替你做了什么,留意拆箱空指针、包装对象比较和字符串拼接等细节,让代码既易读,又可靠。

2026-10-30 10:07:48 323

原创 Linux 常用运维命令汇总:从日常巡检到故障排查

本文整理Linux运维高频命令,涵盖系统信息、文件操作、日志查看、进程监控、内存磁盘、网络端口、服务管理及权限控制,强调故障排查应按资源状态→日志→具体问题的顺序进行,避免盲目操作。重点提醒:慎用rm -rf,关注available内存与inode使用,结合top、vmstat、iostat等工具综合判断性能瓶颈,提升排查效率。

2026-10-27 16:26:18 211

原创 Spring Boot 配置文件读取的几种方式:用法、原理与常见误区

写 Spring Boot 项目时,读取配置往往是最先接触的功能之一。给字段加一个 @Value,就能拿到端口、地址或业务开关。等到配置越来越多,问题也随之出现:一组配置该怎么管理?YAML 中的列表怎么读?同一个配置写在多个地方,最终以哪个为准?

2026-10-27 12:19:42 367

原创 MySQL 新增字段报 Row size too large:原因与解决方式

因新增字段触发MySQL“Rowsize too large”错误,主因是表中多个VARCHAR字段(尤其使用utf8mb4字符集)总长度超65,535字节限制。该限制基于字节而非字符,且含存储开销。解决策略包括:合理缩短过长VARCHAR、将长文本字段转为TEXT,或拆分宽表以降低行宽。设计时应避免盲目扩大字段长度,注重业务实际需求,预防类似问题。

2026-10-22 11:29:46 290

原创 HTTP 和 RPC:从一次干饭说清它们的区别

HTTP 让通信双方对请求和响应有共同的理解;RPC 让调用方以“调用远程方法”的方式使用另一个服务的能力。

2026-10-22 09:32:46 263

原创 数据库、数仓、数据湖与数据中台:从一家网店说清它们的关系

数据库负责把一笔笔业务可靠地记录下来;数据仓库把分散的记录按明确的粒度和口径整理成可分析的数据;数据湖保存和管理日志、图片、文件等多样的数据,为后续探索和重新加工留下材料;数据中台则把这些数据能力组织成多个团队可以持续复用的指标、标签和服务。它们各有分工,也存在重叠,可以按需要组合使用。

2026-10-19 16:49:39 490

原创 Apache Lucene 底层原理:从倒排索引到一次搜索的执行过程

Lucene 是一个用 Java 写的开源全文检索库(Apache 顶级项目)。应用可以把它作为依赖引入,在进程内完成建索引、文本检索和相关性排序。它不是一个独立运行的"搜索服务器"或数据库,而是一个你嵌入到自己程序里的搜索引擎内核。

2026-10-19 10:08:45 290

原创 MySQL-1267错误:排序规则冲突的原因与解决方案

执行关联查询时,因字段排序规则不一致(如utf8mb4_0900_ai_ci与utf8mb4_unicode_ci)导致“Illegal mix of collations”错误。虽字符集相同,但排序规则不同仍无法比较。临时解决方案是在查询中显式添加COLLATE统一规则;长期应通过ALTER TABLE统一字段排序规则,确保关联一致性。

2026-10-14 17:48:45 305

原创 Skills和MCP在Agent中分别负责什么?

本文以生成销售日报为例,阐释了Agent、Skills与MCP在AI任务执行中的角色。Skills将业务规则(如去重、口径)封装为可复用技能包,提升任务一致性;MCP提供统一接口协议,实现AI应用与数据系统间的标准化连接;Agent则协调二者,按需调用工具、执行流程。三者协同,使AI能高效完成复杂任务,尤其适用于重复性高、需跨系统协作的场景。

2026-10-14 10:16:43 228

原创 Java启动报错 Cannot allocate memory:原因与解决方法

当遇到 Cannot allocate memory问题时,建议优先核对实际可用内存、容器限制和 JVM 堆配置。

2026-10-12 16:24:09 155

原创 手把手教你写 Shell 脚本

从第一个能运行的脚本开始,逐步学会变量、参数、条件判断和循环,再动手编写自动清理过期日志的脚本。

2026-10-12 09:33:14 338

原创 Elasticsearch:原理、Docker 安装与常用命令

关于Elasticsearch原理、Docker 安装与常用命令的一个介绍和使用

2026-10-10 11:42:00 595

原创 开发指南:Git日常维护与常用命令

在企业项目里,会用 git add、git commit 和 git push,通常只能完成“把代码交上去”。真正影响开发效率的,是后面的事情:同事之间同时修改同一个文件导致代码冲突怎么办?需求做到一半,线上出了故障怎么办?有问题的代码已经合进主干,怎样撤回才不会连带影响别人的工作?

2026-10-10 10:11:32 250

原创 Java锁AQS框架原理分析:从状态管理到线程唤醒

理解AQS最有用的一条主线是:state 决定能否通过,队列组织等待,park/unpark 协调休眠与恢复;线程醒来之后,仍然必须重新检查获取条件。

2026-09-10 09:43:00 351

原创 Java锁:从一本库存账本,理解多线程如何协作

锁的作用,就是给这些操作建立规则:谁可以先处理,谁需要等一会儿,以及处理完后,其他线程怎样看到更新后的结果。

2026-09-10 09:42:03 153

原创 Java 流式操作:把集合处理写清楚(基于 JDK 17)

Java Stream API从Java8开始,提供声明式处理集合数据的方式,支持filter、map、sorted、flatMap、distinct、reduce、Collectors等操作,通过数据源、中间操作、终止操作构成处理流,惰性执行。

2026-09-06 09:57:49 196

原创 有了JavaScript,为什么还需要TypeScript?

JavaScript 决定程序在运行时做什么,TypeScript 在开发阶段检查我们打算让程序做什么。

2026-09-06 08:59:55 394

原创 Docker、Docker Compose 与 Kubernetes:分别解决什么问题?

Docker 管一个容器,Docker Compose 管一组容器,Kubernetes 管一个容器集群。

2026-08-28 10:42:53 343

原创 Nacos + Spring Cloud:服务注册与配置中心

Nacos + Spring Cloud:服务注册与配置中心

2026-08-24 13:22:42 289

原创 一次:key 表达式导致的uni-app小程序事件传参事故

最近在 uni-app 项目里遇到一个很隐蔽的问题:列表页点击“签署协议”时,方法明明写的是:@click="goSign(item)",正常来说item是可以获取到值的。但是实际在uni-app中goSign函数的item居然是undefined。

2026-08-24 12:55:31 269

原创 JVM 内存管理原理及生产配置实战:从“参数能启动”到“内存可控”

Java 应用明明配置了 -Xmx4g,容器限制也是 4 GiB,为什么还是会被 Kubernetes 以 OOM Killed 结束?老年代使用率一直很高,要不要立刻扩大堆?Full GC 多了,是垃圾回收器选错了,还是应用确实留住了太多对象?

2026-08-14 21:06:03 313

原创 MySQL索引失效的6种场景及执行计划分析

线上遇到慢 SQL 时,有时候我们会发现原来是查询索引失效了,所以导致查询时间特别长。那么针对于索引失效的情况,本文就以 MySQL 8.0 和 InnoDB 为例,准备一张 10 万行的订单表,复现 6个常见场景。

2026-08-14 12:05:20 507

原创 线程池队列堆积:原因、监控与解决方案

排查线程池堆积时,先回答三个问题:任务为什么变慢,提交量为什么变多,当前处理能力能否让队列降下来。

2026-08-07 11:32:29 317

原创 Java线程池参数应该如何设置(ThreadPoolExecutor)

在Java中,ThreadPoolExecutor线程池参数应该如何设置,比较可靠的做法是:先测量任务,再计算初始值,通过压测和监控修正。

2026-08-07 11:25:48 456

原创 Spring事务失效的常见场景及解决

Spring事务失效的常见场景及解决方案

2026-08-05 17:41:14 348

原创 看懂 AI 世界:从大模型到智能体的常见术语

刚接触 AI,很容易被各种缩写劝退:LLM、GPT、RAG、Token、Agent……这些词经常出现在新闻和产品介绍里,却很少有人把它们之间的关系讲清楚。

2026-08-01 16:57:49 353

原创 OutOfMemoryError: GC overhead limit exceeded问题解决

OutOfMemoryError: GC overhead limit exceeded问题分析及解决方法推荐

2026-07-30 20:44:39 560

原创 JVM调优实战-内存分析工具MAT安装及使用指南

JVM调优实战-内存分析工具MAT安装及使用指南

2026-07-30 20:19:45 233

原创 关于数据库“EXPLAIN”相关说明

关于数据库“EXPLAIN”相关说明

2023-06-29 17:18:16 522

原创 错误“Duplicate entry ‘XXX‘ for key ‘XXX‘”问题的解决方案

错误“Duplicate entry '1001' for key 'XXX'”问题的解决方法

2023-06-21 14:24:56 2808

原创 NoClassDefFoundError: Could not initialize class……

关于“NoClassDefFoundError: Could not initialize class……”问题的分析和思路简述

2023-06-20 16:55:38 5850

原创 关于Tomcat服务器catalina.out文件过大的问题

关于Tomcat服务器catalina.out文件过大问题的解决方案

2023-03-13 15:55:40 7472

原创 日常踩坑:Java中double类型出现科学计数法问题

日常踩坑:Java中double类型出现科学计数法问题

2023-01-30 16:59:38 7967

原创 Spring事务并发问题导致“数据丢失更新”的解决方案

Spring事务并发问题导致“数据丢失更新”的解决方案

2022-11-28 16:44:48 2599

原创 Gitlab内存占用过高的解决方法

Gitlab内存占用过高的解决方法

2022-08-22 18:24:15 2820

原创 cnpm错误:“Error:Cannot find module ‘fs/promises”

cnpm错误:“Error:Cannot find module 'fs/promises”

2022-07-29 17:20:19 19204 7

原创 自建Gitlab服务,访问出现“Forbidden”空白页的解决办法

自建Gitlab服务,访问出现“Forbidden”空白页的解决办法

2022-07-29 16:50:48 3250

原创 微服务配置中心Apollo的实践总结

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。.........

2022-07-21 16:09:16 3291

原创 关于jackson-databind反序列化数据为NULL的解决方案

问题描述:在我们进行JSON反序列化的时候,返回的对象属性值为NULL原因分析:在我们请求外部接口的时候,返回的JSON串内的字段属性首字母为大写,我们定义的实体如下图所示:由于jackson-databind在反序列化的时候,底层默认情况下,是通过Java bean的get,set方法,通过去掉get,set再把首字母小写得到的名字去和JSON的属性进行匹配。例如:getStatus()经处理后得到的是status,而这个属性值在我们对象中是匹配不上的(不存在的),所以结果为NUL..

2021-09-07 17:19:16 3570

空空如也

空空如也

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

TA关注的人

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