- 博客(269)
- 收藏
- 关注
原创 nginx 403 、404 等代理的页面
<title>404 页面不存在</title><style>*{margin:0;padding:0;color:#333;color:#666;color:#fff;</style><p>您访问的页面找不到了</p><a href="/">返回首页</a></div>403 禁止访问
2026-09-16 16:30:08
227
原创 java如何实现AI流式传输
,也可以用 WebSocket。SSE:HTTP 协议,单向推送(服务→客户端),实现简单,大模型接口普遍用;WebSocket:双向通信,适合聊天双向交互。
2026-09-16 16:29:48
126
原创 @Async 异步进程,为何拿不到request
针对@Async场景,包装线程池,自动复制 RequestAttributes 到异步线程。// 装饰器:复制request上下文@Override// 主线程获取上下文try {// 设置到异步线程// 清理,线程池复用时防止上下文污染。
2026-09-04 12:58:25
372
原创 CPU、GPU 之外常见处理器 / 计算芯片
可硬件重新编程的芯片,不是固定指令集。AI 专用芯片,也叫 AI 加速器。为单一功能定制硬件,不可改写。不是一类 “计算单元”,是。
2026-09-03 16:06:01
359
原创 Spring Cloud Alibaba 一站式微服务解决方案详解
Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。Spring Cloud Alibaba 作为阿里巴巴开源的微服务解决方案,提供了完整的微服务开发套件,包括服务注册发现、配置管理、流量控制、分布式事务等核心功能。通过与 Spring Cloud 生态的深度集成,开发者可以快速构建稳定、可靠的分布式系统。主要优势阿里生态整合:深度集成阿里云各类服务。
2026-06-23 13:58:35
285
原创 微服务流量防卫兵:Alibaba Sentinel 从入门到实战
Sentinel(哨兵)是阿里巴巴开源的面向分布式服务架构的轻量级流量控制组件。它以流量为切入点,从流量控制熔断降级系统自适应保护等多个维度来保障微服务的稳定性。核心特性丰富的应用场景:秒杀、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控:提供实时的监控功能,可以在控制台中看到接入应用的单台机器秒级数据。广泛的开源生态:与 Spring Cloud、Dubbo、gRPC 等框架无缝整合。基于资源的控制:资源可以是任何东西,服务、服务里的方法,甚至是一段代码。
2026-06-23 13:54:54
505
原创 MySQL EXPLAIN 语法超详细详解
固定类型:直接字节数允许 NULL:+1变长字段:+2字符串:字符数 × 字符集字节联合索引:多列累加看 type:至少达到 range,优先 ref看 key:必须有索引,不能为 NULL看 rows:扫描行数越少越好看 Extra:严禁 Using filesort、Using temporary加索引:全表扫描、索引失效时优先加合适索引EXPLAINtype(访问类型)、key(实际索引)、Extra(额外信息)优化目标:避免全表扫描、文件排序、临时表,尽量使用覆盖索引。
2026-06-11 10:53:02
827
原创 MySQL key_len 计算规则(超清晰版)
记住以下口诀,快速计算key_len固定类型:直接记字节数(INT=4, BIGINT=8…)。允许 NULL+1。变长字段+2(用于存储长度信息)。字符串:字符数 × 字符集字节数。联合索引:多列长度累加。掌握key_len的计算,就等于掌握了洞察 MySQL 索引使用情况的“X 光眼”,是进行高效 SQL 调优不可或缺的技能。
2026-06-11 10:52:53
879
原创 添加了索引,索引未生效何解
索引列别用函数、别计算- 保持 WHERE 条件中索引列的"纯净"少用!- 尽量用 = / IN / IS NULL / AND 替代模糊查询不要 % 开头- 如果必须前后模糊,考虑全文索引或搜索引擎字符串一定要加引号- 避免隐式类型转换联合索引必须遵循最左前缀- 设计索引时考虑查询模式查询数据量太大时,索引本来就不会走- 这是正常优化,不是问题考虑覆盖索引- 如果查询只需要索引列,使用覆盖索引避免回表用了函数或计算- 最常见%xxx 模糊查询- 最容易被忽略隐式类型转换- 最隐蔽先。
2026-06-10 09:27:08
195
原创 MySQL 索引失效场景详解:NOT IN、!=、IS NOT NULL 何时生效与失效
单列索引 +NOT IN!→ 索引必失效。联合索引 + 前面等值,后面否定 → 只命中前面等值部分。否定条件天生不适合索引(MySQL 优化器不喜欢)。OR 连接无索引字段 = 一边有索引,一边没索引 → 整条 SQL 索引直接失效!MySQL 的规则很简单:只要OR两边任意一个字段没有索引,整个WHERE条件就无法使用索引,直接全表扫描。OR 只要连接一个无索引字段 → 整条 SQL 索引直接失效,全表扫描!OR 想要生效 → 两边字段必须都有独立索引。
2026-06-10 09:00:52
509
原创 centos7 启动报错 Failed to mount /sysroot
使用安装光盘启动:进入救援模式Troubleshooting -> Rescue a CentOS systemalt + tab 键显示终端执行下面命令:xfs_repair -v -L /dev/dm-0或xfs_repair -v -L /dev/dm-1。lrwxrwxrwx 1 root root 7 12月 1 09:57 /dev/mapper/centos-root -> ../dm-0。ls -l /dev/mapper/centos-root #系统的根分区逻辑卷。
2026-06-01 10:43:50
213
原创 解决 CentOS 7 报错:Cannot find a valid baseurl for repo: base/7/x86_64
CentOS 7 报错 “Cannot find a valid baseurl for repo: base/7/x86_64” 的根本原因是官方源已停止服务。通过切换到阿里云、网易或清华大学的 Vault 镜像源,可以立即恢复 yum 功能。核心修复步骤备份原有源配置下载或创建新的 Vault 源配置文件清理并重建 yum 缓存虽然 Vault 源可以解决当前的软件包安装问题,但考虑到安全性和长期维护,建议尽快规划系统迁移到受支持的 Linux 发行版。温馨提示。
2026-06-01 10:43:06
397
原创 MySQL 索引优化详细指南(实战版)
索引建在 WHERE、JOIN、ORDER BY 字段。联合索引遵循:等值在前,范围在后。避免字段运算、隐式转换、% 前缀模糊。用 EXPLAIN 检查索引是否命中。**尽量使用覆盖索引,避免 SELECT ***。
2026-05-30 16:39:44
494
原创 CentOS 7 Failed to mount /sysroot
CentOS 7 系统异常关闭后无法启动的问题通常是由于文件系统损坏导致的。通过以上三种方法,大多数情况下都能成功修复系统并恢复正常启动。建议优先尝试方法一,如果无效再使用方法二或方法三。如果问题反复出现,可能需要考虑更换硬盘或检查硬件故障。
2026-05-30 16:25:25
254
原创 K线图分析
淡友反攻,其K线形态特征是,在上涨过程中,出现一根中阳或大阳线,第二天跳空高开,收一根中阴或大阴线,它的收盘价与前一天的阳线的收盘价处于同一水平位。好友反攻,其K线形态特征是,在下跌过程中,出现一根中阴或大阴线,第二天跳空低开,收一根中阳或大阳线,它的收盘价与前一天的阴线的收盘价处于同一水平位。乌云盖顶,其K线形态特征是,在经过一波上涨后,出现一根高开低走的阴线,并且阴线的收盘价盖过前一日阳线实体的1/2以下,但并没有将阳线实体全部吞并。看涨吞没一般表示下跌的行情即将结束,后市看涨,股民可以抄底。
2026-02-24 11:09:42
369
原创 我的创作纪念日
👥 志同道合的朋友:认识了许多领域内的优秀创作者,包括几位知名开源项目的贡献者,甚至合作写过专栏、举办过技术直播。这段代码的价值不在于算法多高深,而在于它简洁地解决了实际问题,具备良好的可读性和可用性。📈 粉丝与关注:累计获得了 3.8万 名粉丝的关注,每一份关注都是对我的认可和鼓励。创作不是负担,它成了我技术生活的一部分,一种自然的知识管理方式。
2025-09-05 10:11:11
471
原创 gitlab镜像备份配置
上篇文章讲到如何升级gitlab,升级gitlab的目的是也是为了本章做准备;为了保证仓库镜像成功,同一版本镜像异常是最少的,因此镜像的两个仓库,建议采用相同gitlab版本。
2025-08-21 15:10:28
555
原创 gitlab 全版本升级路程
原因是 14.x 后版本,不再使用 unicorn ,改为使用 puma 作为web服务器。所以如果是升级操作,需要修改配置,按如下步骤。按需打开 puma (删除前面的#,修改后面的值,一般是设置过端口,需要重新设置)3.2、执行 reconfigure 需要在 gitlab 所有服务启动模式下。3.1、如果找不到puma,手动添加一行。修改 gitlab.rb 配置文件。注释掉所有 unicorn。
2025-08-21 15:10:13
821
原创 黑白合测试
黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。在测试过程中,将程序看成不能打开的黑盒子,不考虑程序内部结构和特性的基础上通过程序接口进行测试,检查程序功能是否按照设计需求以及说明书的规定能够正常打开使用。白盒测试也称为结构测试,主要用于检测软件编码过程中的错误。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。白盒测试和黑盒测试的区别。
2025-08-01 15:57:47
217
原创 HDFS数据存储硬盘仓库
4、client 请求3台DataNode中的一台A上传数据(本质是一个RPC调用,建立pipeline),A收到请求会继续调用B,然后B调用C,整个pipeline建立完成,后逐级返回client。7、读取完一个block都会进行checksum验证,如果读取DataNode时出现错误,客户端会通知NameNode,然后再从下一个拥有该block副本的DataNode继续读。3、NameNode根据配置文件中指定的备份数量及副本放置策略进行文件分配,返回可用的DataNode的地址,如:A,B,C。
2025-08-01 15:53:37
1087
原创 gitlab部署安装
在 /etc/gitlab/gitlab.rb 文件中,有许多用于各种类型日志的 log_directory键。取消注释并更新要放置在其他地方的所有日志的值。输入下面查找指令:admin_users = User.where(admin: true)日志地址:/var/log/gitlab/ # 对应各服务的打印日志。服务地址:/var/opt/gitlab/ # 对应各服务的主目录。可以看到root账号的id为1,根据id去修改root账号的密码。4、配置修改完执行以下命令。
2025-07-18 16:18:10
696
原创 记录Netty粘包的主要方法
1、LengthFieldBasedFrameDecoder中对消息的解析拆包主要在decode方法中,首先获取消息长度字段的实际起始位置2、获取长度字段的值3、计算整个消息的长度(消息长度=消息长度字段值+消息修改长度+消息长度字段的结束位置)4、丢弃字节5、截取新的字节数组容器ByteBuf并设置readerIndex。
2025-06-21 13:06:49
214
原创 mysql报错1267 - Illegal mix of collations
【代码】mysql报错1267 - Illegal mix of collations。
2025-04-17 13:50:52
512
原创 iframe嵌套第三方网址报错
X-Frame-Options 是一个 HTTP 响应头部,用于防止网站被嵌入到其他网站的 iframe 中。该协议定义了一些选项,使网站可以控制在哪些网站中可以嵌入自己的内容,从而防止网站被点击劫持攻击。如果网站设置了 X-Frame-Options 响应头部,浏览器会根据该选项来决定是否允许在 iframe 中显示该网站的内容。Refused to display ‘嵌套的网址’ in a frame because it set ‘X-Frame-Options’ to ‘sameorigin’.
2025-04-07 08:51:32
1904
2
原创 Quartz定时任务使用教程及常见问题解决
OverrideSystem.out.println("任务执行时间:" + new Date());
2025-03-22 10:31:00
1027
原创 Hadoop家族之HDFS分布式文件系统
HDFS是 Hadoop Distribute File System 的简称,意为:Hadoop分布式文件系统。是Hadoop核心组件之一,作为最底层的分布式存储服务而存在。分布式文件系统解决的问题就是大数据存储。它们是横跨在多台计算机上的存储系统。分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理超大规模数据提供所需的扩展能力。DFS使用多台计算机存储文件,并且提供统一的访问接口,像是访问一个普通文件系统一样使用分布式文件系统。
2025-03-21 11:07:56
1353
原创 java面试经验心得
核心原则:技术能力 > 项目数量,深度 > 广度。避坑指南:警惕简历造假(如合并工作经历),需通过细节追问(如项目技术选型理由)验证真实性。提升方向:定期更新技术题库(如新框架特性、云原生技术),保持与行业趋势同步。通过结构化考察和分层评估,可更高效筛选出匹配岗位需求的候选人。
2025-03-17 08:34:32
838
原创 股市中如何看K线、日线、CMAD等指标
K线、日线和MACD等工具的核心是帮助识别趋势和买卖点,但需灵活运用并结合市场环境。建议新手通过模拟交易熟悉指标,再逐步实践。
2025-03-17 08:34:10
2777
原创 避开这五大坑,普通人炒股也能少走弯路
股市没有“稳赚秘籍”,但避开这些坑,你已经跑赢了大多数人。记住:风险控制比赚钱更重要,理性比运气更可靠。投资是一生的修行,愿你我都能在波动的市场中,找到自己的节奏。(提示:本文不构成投资建议,市场有风险,决策需谨慎。
2025-03-14 09:06:51
775
原创 深入解析 Vue 双向绑定原理:从数据劫持到响应式更新
Vue 的双向绑定通过 数据劫持 和 发布-订阅模式 实现,其核心在于对数据变化的监听与依赖管理。理解这一原理不仅能帮助开发者更好地使用 Vue,还能为优化性能、解决复杂场景问题提供思路。随着 Vue 3 的普及,Proxy 的引入进一步提升了响应式系统的能力,标志着前端框架在数据驱动领域的持续进化。
2025-03-14 08:58:02
1040
原创 Spring Cloud Gateway-过滤器工厂详解(GatewayFilter Factories)
如果不设置,那么名为 Host 的Header由Http Client控制;如果设置了,那么会设置一个请求属性(preserveHostHeader=true),路由过滤器会检查从而去判断是否要发送原始的、名为Host的Header。采用路径template参数,通过请求路径的片段的模板化,来达到操作修改路径的母的,运行多个路径片段模板化。如上配置,访问${GATEWAY_PATH}/foo/bar ,则对于后端微服务的路径会修改为 /bar。,就可以调试Gateway转发的具体细节了。
2025-03-13 08:50:43
1388
原创 Spring Cloud Gateway 过滤器详解
Spring Cloud Gateway 的核心功能之一是过滤器(Filter),它可以在请求路由到目标服务之前(Pre)或之后(Post)对请求和响应进行修改、验证或记录。过滤器是网关实现鉴权、限流、日志、请求改写等功能的核心机制。// 拦截请求// 放行@Overridereturn 0;// 执行顺序@ComponentConfig> {@Override。
2025-03-13 08:30:51
1767
Solr7.0与IK分词器的集成指南:详细步骤及中文文本搜索优化
2025-02-21
Java编程语言基础知识点详解及其应用领域介绍
2025-02-21
JAVA核心知识点整理
2025-02-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅