- 博客(153)
- 资源 (16)
- 收藏
- 关注
原创 Js如何实现一个抽奖程序
本文介绍了一个基于Vue实现的轻量级抽奖程序。通过Math.random()生成随机数作为数组下标,配合定时器实现抽奖动画效果。程序包含开始/停止按钮,点击停止时显示中奖结果并高亮显示获奖者。核心代码包括候选人数组定义、随机数生成逻辑和定时器控制,同时提供了简单的CSS样式实现高亮效果。文章最后推荐了一个Java程序员知识库作为福利。该抽奖程序简洁实用,适合各种线上活动场景。
2026-03-24 15:29:45
173
原创 还在用WebSocket实现即时通讯?试试MQTT吧,真香!
摘要:本文介绍了如何利用RabbitMQ的MQTT协议实现即时通讯功能。首先讲解了MQTT协议的基本概念,包括发布/订阅模式、主题和消息质量等级。然后详细演示了在Docker环境中部署RabbitMQ并启用MQTT功能的方法。通过MQTTX客户端工具测试了消息收发功能,并展示了仅用HTML+JavaScript实现的前端即时通讯方案。最后提到在SpringBoot项目中集成MQTT的方法,满足需要服务端参与的业务场景。文章提供了从简单到复杂的完整实现方案,特别适合需要轻量级即时通讯功能的项目。
2026-03-24 15:28:21
226
原创 神级开源,一站式、轻量级、低门槛、零侵入的 Java 应用全方位监控平台,开箱即用!!!
本文介绍了一款轻量级、低门槛的Java应用监控平台zero-observer+zero-log,提供一站式日志查询、接口监控、调用链追踪和JVM可视化功能。系统采用客户端采集+服务端分析架构,支持日志自动采集、性能监控、慢请求分析等核心功能,相比传统方案更易部署使用。服务端需依赖MySQL和Elasticsearch存储数据,文中提供了数据库初始化脚本。该平台适用于中小企业和个人开发者,以极简方式实现Java应用全方位监控,显著降低运维成本。
2026-03-23 16:32:51
621
原创 致自己的生活感悟经典句子,读完让人豁然开朗!
生活智慧:20条让你豁然开朗的人生箴言 在快节奏的现代生活中,我们常常陷入迷茫与焦虑。本文精选20条通透的生活感悟,从时间管理、情绪调节、人际关系、自我认知到生活本质五个维度,提供实用的人生指南。 核心观点: 时间:24小时对所有人公平,关键在于如何利用 情绪:成熟是学会与情绪共处,而非被其支配 关系:远离消耗型社交,珍惜同频的人际关系 自我:摆脱他人期待,学会自我接纳与善待 生活:幸福藏于日常细节,健康是人生基石 这些经过岁月验证的智慧,能帮助我们在迷茫时找到方向,在焦虑时获得平静。真正的生活智慧,往往蕴
2026-03-23 09:00:00
319
原创 90后:我们活在最富的时代,却咽下最苦的粥
摘要: 当代年轻人的困境不是物质匮乏,而是“意难平”——在物质丰盛的时代活得疲惫又孤独。作为被“富养”长大的一代,90后曾以为努力就能拥有体面生活,却面临房价飞涨、职场内卷、育儿成本高昂的现实。快乐需要精打细算,崩溃只能静音,深夜便利店的关东煮和亲友的微小关怀成了最后的慰藉。文章呼吁年轻人允许自己脆弱,并对自己说一句“你已经做得很好了”,因为在这碗生活的苦粥里,我们并不孤单。
2026-03-23 09:00:00
314
原创 程序员失业?别慌,AI正在让程序员“飞”起来!
AI时代下程序员的新机遇:效率革命而非职业终结 AI辅助编程工具的普及引发了"程序员失业"的焦虑,但事实恰恰相反。GitHub Copilot等工具带来的不是替代,而是生产力革命,使程序员从重复编码中解放,专注于更高维度的系统架构和业务逻辑设计。真正的挑战在于:初级开发者岗位可能缩减,但高级开发者、AI集成专家的需求将持续增长。未来程序员将转型为AI指挥官、领域翻译官和系统架构师,其核心价值在于解决复杂系统中的定制化问题。AI时代淘汰的不是程序员,而是不会使用AI工具的技术从业者。这既是
2026-03-23 09:00:00
356
原创 阿里最年轻的P10走了,钉钉却在教AI当“赛博包工头”
《理想主义已死,效率至上万岁:钉钉"悟空"背后的科技商业裂痕》 2026年钉钉发布企业级AI平台"悟空",号称能实现全自动工作流程。但同日阿里顶尖AI专家林俊旸离职,折射出中国科技界理想主义与商业现实的深刻矛盾。"悟空"本质是私域流量变现工具,将AI能力切碎成收费服务,让中小商家为平台算力买单。当AI使执行能力普遍化,商业竞争将演变为零门槛内卷,最终只有平台和大模型厂商获利。更严峻的是,AI生成的标准化内容正在破坏平台生态,未来真正的价值将回归&q
2026-03-23 09:00:00
252
原创 选对城市对年轻人的发展到底有多重要?
摘要:文章探讨年轻人如何选择发展城市,重点分析无原生家庭托举的情况。作者认为应优先选择公积金缴存过万亿且公有制占比低的城市(如杭州、深圳等),这类城市市场体量大、民营经济活跃、机会多。相反,公有制占比高的城市(如武汉、郑州等)不适合无背景者发展。有家庭托举者可考虑本地发展。文章还针对不同行业推荐相应城市,并提供了开发者知识库福利。(149字)
2026-03-22 09:00:00
211
原创 官宣:SpringBoot4 弃用 Undertow,Tomcat 笑了
Spring Boot 4.0将移除对Undertow的支持,主要因其无法适配Servlet 6.1规范。Undertow因团队资源不足、维护效率低下,导致兼容性差、性能优势缩水。Servlet 6.1带来了ByteBuffer支持、HTTP重定向控制等改进。这一事件启示:架构选型应注重长期稳定性和生态兼容性,而非短期性能优势。
2026-03-22 00:29:26
392
原创 深度解析Skill机制:如何通过Spring AI + 阿里巴巴对接任意大模型实现智能技能调用?
摘要: Skill机制通过智能编排Function Call,解决大模型“能说不能做”的痛点。它采用渐进式加载策略,显著降低Token消耗,并支持多步骤工作流。借助MCP协议,Skill可统一调用本地脚本或云端API。阿里巴巴在Spring AI中内置Skill支持,开发者只需三步即可集成,还能复用4万+开源Skill。这一技术让大模型从对话助手升级为智能执行体,推动AI应用落地。
2026-03-21 00:38:29
506
原创 分布式事务的“真相”:你以为用了Seata,就高枕无忧了?
Seata不是万能药:分布式事务的三层防御体系 摘要: Seata的AT模式虽简化了分布式事务,但存在"脏写陷阱"导致回滚失败。TCC模式通过预留资源提供更强一致性,但需手动实现补偿逻辑。最终极方案是本地消息表+对账系统,通过异步补偿确保最终一致性。真正的分布式事务解决方案需要三层防御:理解框架局限、掌握手动补偿、构建兜底机制。开发者需根据业务场景权衡选择,而非盲目依赖单一工具。
2026-03-21 00:28:07
360
原创 SpringBoot 如何实现多版本接口
一般来说,Restful API 接口是提供给其它模块,系统或是其他公司使用,不能随意频繁的变更。然而,需求和业务不断变化,接口和参数也会发生相应的变化。如果直接对原来的接口进行修改,势必会影响线其他系统的正常运行。这就必须对 api 接口进行有效的版本控制。@Mapping版本匹配支持三层版本v1.1.1 (大版本.小版本.补丁版本)v1.1 (等同于v1.1.0)v1 (等同于v1.0.0)@Slf4j/***/@Getter/***/
2026-03-19 13:25:24
287
原创 SpringBoot 实现代码自动生成
由于 CRUD 的工作占了普通开发很多工作,而这些工作是重复的,所以出现了此类的代码生成工具。这些工具通过模板引擎来生成代码,常见于三方集成工具,IDE 插件等等。模板引擎可以在代码生成过程中减少大量机械重复工作,大大提高开发效率,良好的设计使得代码重用,后期维护都降低成本。一个好的模板引擎的使用要考虑的方面无外乎:功能是否强大,使用是否简单,整合性、扩展性与灵活性,性能。
2026-03-19 13:22:20
361
原创 Spring AI + RAG 实战:基于 Milvus 和智谱 GLM-5 的知识库搭建指南
本文介绍了基于Spring AI、Milvus向量数据库和智谱GLM-5模型搭建私有知识库问答系统的完整方案。系统采用RAG(检索增强生成)架构,通过Milvus存储文档向量实现高效检索,结合GLM-5大模型生成回答。文章详细说明了技术栈选择(包括Spring AI 1.0.0、智谱GLM-5/Embedding-3、Milvus和Apache Tika)、系统架构设计,并提供了Docker Compose部署Milvus的配置方法、智谱API Key获取流程,以及Maven依赖和Spring Boot应用
2026-03-19 08:30:00
872
原创 Tomcat 高高在上?0-1 实现一个简单的 WEB 容器
本文介绍了一个简单Web容器的实现原理,通过Socket和ServerSocket模拟Tomcat处理HTTP请求的过程。核心组件包括HttpServer、Request和Response类:HttpServer使用ServerSocket监听8080端口,接收请求后交给Request解析URI;Response根据请求返回静态资源。文章详细展示了服务器启动流程、请求解析和响应处理的具体代码实现,帮助理解Web容器底层工作机制。由于浏览器可能不支持HTTP 0.9协议,运行示例时可能出现无响应的情况。该实现
2026-03-18 14:22:12
345
原创 分布式系统 全局唯一 ID 实现的七大方案,你会哪几个?
分布式系统全局唯一ID生成方案 本文介绍了分布式系统中生成全局唯一ID的几种常见方法: UUID:简单易用但存在存储空间大、安全性问题和不利于数据库索引等缺点 数据库生成:通过设置不同起始值和步长实现,但强依赖数据库,存在单点故障风险 Redis实现:利用自增命令生成有序ID,但增加了系统复杂度 雪花算法:将64位划分为时间戳、机器ID和序列号,性能高效且有序,可支持69年的时间范围 各种方案各有优劣,需要根据具体业务场景选择最适合的ID生成策略。
2026-03-18 11:23:52
737
原创 美团: 百亿规模API网关服务Shepherd的设计与实现
唯品会消息网关重构实践:从耦合架构到基础服务层的演进 面对4亿会员和业务快速发展带来的挑战,唯品会对原有消息网关进行了全面重构。新架构将系统拆分为逻辑消息网关和物理发送渠道两个层次,定位为公司级基础服务。重构后的消息网关具备业务友好接口、频次控制、订阅管理、失败重试等核心功能,采用异步队列和分级处理机制应对不同消息类型需求。技术选型上采用自研Venus框架和Kafka队列,配合完善的监控降级方案。文章重点探讨了业务边界划分、数据价值挖掘等实践经验,为大型电商平台消息系统设计提供了参考案例。
2026-03-18 11:09:02
326
原创 海量数据处理面试题(下篇)
本文分享了几个大数据处理问题的解决方案:1)使用分治法、HashMap或前缀树统计热门查询串;2)利用位图法统计不同电话号码数量;3)通过双堆法或分治法从5亿数中找中位数;4)根据query频度排序采用HashMap或分治外排序;5)用堆排序找出20个有序数组中的前500个数。这些方法针对不同数据规模和内存限制,提供了高效处理海量数据的思路。
2026-03-18 11:04:42
347
原创 海量数据处理面试题(上篇)
摘要 本文介绍了6个大数据处理问题的解决方案: 海量URL查重:采用分治策略,通过哈希取余将文件拆分,再用HashSet比对相同URL;或使用前缀树优化存储。 高频词统计:哈希分治后,用HashMap统计词频,小顶堆获取Top 100高频词。 最大访问IP查找:类似高频词方法,提取目标日志后统计IP频次。 不重复整数查找:分治法或位图法(用2bit表示数字状态)。 数字存在性判断:位图法用512MB内存表示40亿数字的存在状态。 毒药瓶检测:二进制编码法,10只老鼠通过死亡组合定位毒药瓶。 核心思路:分治、
2026-03-18 11:00:02
347
原创 RAG常见问题与解决方案:深入实践与最佳指南
检索增强生成(Retrieval Augmented Generation,简称RAG)是一种将大语言模型与外部知识检索相结合的技术架构。在传统的纯参数化语言模型中,模型的知识完全依赖于训练数据,存在知识截止日期、幻觉问题、专业领域知识不足等局限。RAG通过引入外部知识库,让模型能够实时检索相关信息,从而生成更加准确、更具时效性的回答。RAG技术的核心价值体现在以下几个方面:典型应用场景:1.3 为什么RAG容易踩坑RAG开发过程中常见的挑战:不同格式文档需要不同的解析策略。RAG系统的第一步是加载各类
2026-03-18 10:57:33
378
原创 Claude Code 的平替工具 OpenCode 开源啦,国内用户也可轻松接入!
摘要: OpenCode 是一款开源 AI 编程代理工具,支持终端、桌面及主流 IDE 使用,可替代 Claude Code。其特点包括:支持 75+ 模型(含免费选项)、内置 Build/Plan 双模式、上下文感知及协作功能。安装方式多样(脚本/包管理器/桌面应用),支持自然语言交互完成代码生成、解释和重构等任务。通过 /init 初始化项目,用自然语言指令(如“创建登录页面”)直接操作代码,提供安全权限控制与会话分享功能,适合开发者高效处理轻量脚本或复杂架构项目。 (字数:150)
2026-03-17 17:15:52
1343
原创 SpringBoot 使用 H2 文本数据库构建轻量级应用
H2是一款轻量级Java嵌入式数据库,可直接集成到应用中。它支持嵌入式、服务器和混合模式,适合存储少量结构化数据、单元测试和缓存场景。H2具有纯Java编写、单jar文件、Web控制台等优势。集成示例展示了Spring Boot项目中如何配置H2数据库,包括依赖添加、YAML配置、实体映射和JPA仓库使用。H2特别适合快速开发和测试环境,提供高效的内存数据库解决方案。
2026-03-09 22:19:23
506
原创 架构:大型网站技术架构的演进过程
本文系统梳理了大型网站架构的演进过程,从单机部署到分布式服务的完整技术路线。初始阶段采用单一服务器,随着业务增长逐步分离应用与数据服务,引入缓存、负载均衡、读写分离等技术。为解决海量数据问题,演进到分布式文件系统、NoSQL和业务拆分阶段。以电商系统为例,详细展示了从1.0单机版到5.0单元化架构的九次关键升级过程,包括CDN加速、分库分表、同城双机房等核心解决方案。文章强调架构设计应根据实际业务需求渐进优化,既要解决当前瓶颈又要保持扩展性,为大型网站技术架构提供了完整的演进蓝图。
2026-03-09 22:02:46
390
原创 如何新增数据库表字段?直接 ALTER ?卷铺盖走人吧!
摘要:千万级大表新增字段需谨慎处理,直接执行ALTER TABLE会引发锁表风暴、性能雪崩、主从延迟等问题。应对策略需分数据量级:小表可直接ALTER但需选低峰期;百万级表应使用pt-online-schema-change或gh-ost工具;千万级表需采用架构级方案,通过应用层双写、异步迁移、灰度切换等步骤实现业务无感知变更。这体现了数据库设计初期考虑扩展性的重要性,合理使用分表或预留字段可避免此类难题。
2026-02-05 09:40:07
557
原创 神级开源,一站式、轻量级、低门槛、零侵入的 Java 应用全方位监控平台,开箱即用!!!
zero-observer + zero-log = Java 应用一站式监控官网地址:https://kuafucv.com功能实现情况登录认证✅仪表盘统计✅应用日志采集✅应用控制台日志✅应用日志列表检索✅接口性能监控✅接口慢请求分析✅CPU 监控✅物理内存监控✅堆内存监控✅非堆内存监控✅Eden区监控✅Survivor区监控✅OldGen区监控✅Metaspace区监控✅线程监控✅GC监控✅调用链监控✅。
2026-02-05 09:38:33
1008
原创 SpringBoot + MyBatis-Plus 如何高效实现数据变更记录
摘要: 本文介绍了一种高效实现数据变更记录的方案,通过MyBatis拦截器+事件驱动架构,避免手动侵入业务代码。核心步骤包括: 拦截器捕获变更:拦截增删改操作,查询旧数据并发布异步事件; 事件封装:携带操作类型、新旧数据等元信息; 异步监听处理:独立线程池记录变更,支持字段级差异对比。 优势:无业务侵入、高性能异步处理、自动对比变更字段,适用于需要审计追溯的场景。
2026-02-04 22:16:59
435
原创 还在用JDK8?JDK8、JDK11升级至JDK17的重要特性:一次价值千万的全方位升级指南
本文分析了从JDK 11升级至JDK 17的必要性和主要新特性。升级必要性体现在:JDK 17作为LTS版本提供更长期支持;Spring框架6.x/3.x要求最低JDK17;性能提升显著(G1GC提升8.66%)。核心语言特性包括:正式版Switch表达式简化多分支逻辑、文本块改善多行字符串处理、instanceof模式匹配消除冗余类型转换。这些改进提升了开发效率、代码可读性和安全性。随着Spring生态全面转向JDK17,建议开发者及时升级以获取更好的支持和性能。
2025-10-31 22:26:09
765
原创 还在用JDK8?JDK8升级JDK11:一次价值千万的升级指南
JDK 8到JDK 11的重要升级特性摘要:随着JDK更新至25版本,SpringBoot 3.x要求最低JDK17,开发者需关注版本升级。JDK 11作为长期支持版本(LTS)引入多项特性:接口支持私有方法(JDK9)、局部变量类型推断(var关键字,JDK10)、Lambda参数使用var(JDK11)。此外,JDK9改进了集合、Stream和Optional,新增工厂方法创建不可变集合、Stream的ofNullable等新方法,以及Optional增强功能。这些改进简化了代码编写,提高了开发效率。
2025-10-31 22:21:19
951
原创 SpringBoot 如何实现零拷贝:深度解析零拷贝技术
如果服务端要提供文件传输的功能,我们能想到的最简单的方式是:将磁盘上的文件读取出来,然后通过网络协议发送给客户端。传统 I/O 的工作方式是,数据读取和写入是从用户空间到内核空间来回复制,而内核空间的数据是通过操作系统层面的 I/O 接口从磁盘读取或写入。
2025-10-22 23:18:40
816
原创 JWT 真的安全吗?深度讲解 JWT 优缺点与避坑指南
JWT 其中一个很重要的优势是无状态,但实际上,我们想要在实际项目中需要合理使用 JWT 做 Token 认证登录的话,也还是需要集中存储 JWT 信息。这就意味着 JWT 的无状态是一个空中楼阁。JWT 也不是银弹,也有很多缺陷,具体是选择 JWT 做 Token 认证,还是选择传统的不透明 Token 方案,只能说根据项目的实际情况。万万不可尬吹 JWT,而看不起其他身份认证方案。
2025-10-22 00:42:32
1177
原创 SpringBoot 接入 Prometheus + Grafana
欢迎从事编程开发、技术招聘 HR 进群,欢迎大家分享自己公司的内推信息,相互帮助,一起进步!架构设计之道在于在不同的场景采用合适的架构设计,架构设计没有完美,只有合适。在代码的路上,我们一起砥砺前行。—— 斩获心仪Offer,破解面试密码 ——点击 Import,即可看到监控仪表。
2025-10-19 23:16:43
573
2
原创 排序算法:详解快速排序
快速排序是一种高效的分治排序算法,由Tony Hoare在1960年提出。它的核心思想是"分而治之",通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序。
2025-10-18 22:52:03
610
原创 为什么大厂面试官独爱堆排序?堆排序保姆级教程:从入门到精通
堆是一种特殊的完全二叉树,它满足以下性质:大顶堆:每个节点的值都大于或等于其子节点的值小顶堆:每个节点的值都小于或等于其子节点的值大顶堆示例:50/ \45 40/ \ /30 20 35数组表示:[50, 45, 40, 30, 20, 35]索引关系:对于节点i,其左子节点在2i+1,右子节点在2i+2,父节点在(i-1)/2学习堆排序,不仅是学习排序的技巧,更重要的是学习堆这个数据结构。用数组表示树:通过简单的索引计算,可以用线性结构表示复杂的树形关系。
2025-10-18 15:41:14
710
原创 SpringBoot 启动时执行某些操作的 8 种方式
在真实项目开发过程中,我们经常会需要在程序启动时执行一些特定的业务操作,比如系统预热、系统初始化等。小编为大家介绍 8 种实现方式。
2025-10-16 23:02:33
1071
原创 新一代Java应用日志可视化与监控系统开源啦
Java 应用开发的同学都知道,项目上线后,日志的可视化查询、接口的性能监控、 JVM 的可视化监控是一件非常重要的事。市面上成熟方案一般是采用 ELK/EFK 实现日志可视化,采用 Actuator + Prometheus + Grafana 实现 JVM 监控。这两套都是非常优秀的解决方案,不过对于很多开发者来说,这中间存在大量的繁琐的配置过程。而对于大多数中小型企业来说,很多都是一个简单的单体项目,并不想要多余的运维和部署成本!而智能应用监控。
2025-10-16 22:48:19
1429
原创 蚂蚁又开源了一个顶级 Java 项目!
蚂蚁集团开源基于LLVM的JVM JIT编译器"Jeandle(筋斗云)",旨在提升Java应用性能。该项目将LLVM的优化能力引入JVM,通过即时编译技术将热点Java字节码转换为高效机器码。Jeandle面临支持Java特性(GC、异常处理等)的技术挑战,但有望带来显著性能提升和生态扩展。目前项目处于早期阶段,计划逐步完善功能支持。这一创新可能改变Java在AI、大数据等领域的性能表现,保持Java在现代计算环境中的竞争力。
2025-09-13 14:06:18
708
原创 SpringBoot 轻量级一站式日志可视化与JVM监控
【摘要】针对Java应用日志与JVM监控部署复杂的问题,"zero-observer+zero-log"提供了一套轻量级解决方案。该系统通过客户端zero-log实现无侵入式日志自动采集(支持logback输出),服务端zero-observer提供可视化查询界面。主要功能包括:应用日志检索、慢接口监控(支持自定义阈值)、JVM全指标监控。部署仅需引入依赖并配置logback,支持Docker快速搭建服务端,显著降低了中小型项目的运维门槛。
2025-09-13 14:03:36
1317
精美 redis 客户端【TinyRDM-1.2.1-mac-arm64】自带监控 mac 版本 m 芯片 安装包
2025-02-16
零基础搭建Hadoop大数据处理
2017-09-03
linux搭建postgresql、postgis、pg_pathman环境步骤以及需要的软件包
2017-08-06
apache-tomcat-7.0.81.tar.gz
2017-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅