技术博客

记录 Java、软件工程与智能体开发中的实践、思考与复盘。

一次点击到底发生了什么?Java 全栈请求从浏览器到 MySQL 的完整链路

学习 Java 全栈时,我们往往会分别接触 Vue、HTTP、Nginx、Spring Boot、Spring MVC、Controller、Service、MyBatis、MySQL、Redis、消息队列等技术。真正困难的并不是记住这些名词,而是理解它们在一个真实项目中如何连接。本文沿着一次真实用户操作,把“打开网站”和“调用后端 API”两条链路串起来:从浏览器、网络、Nginx、Tomcat、Spring MVC,到 Controller、Service、MyBatis、JDBC、MySQL,再返回 Vue 页面;同时把 Redis、MQ、WebSocket、定时任务、安全、事务、异常处理与可观察性放回它们真正所在的位置。

前端技术发展史:从静态文档到现代 Web 应用平台

前端技术的发展,并不是 HTML、CSS、JavaScript、jQuery、Vue、React、TypeScript、Vite 等技术简单地一代替代一代,而是 Web 从“浏览超文本文档”逐步演化为“运行复杂软件应用”的过程。最初的 Web 只需要解决信息如何通过网络被访问,随后逐渐出现页面样式、用户交互、异步通信、组件化、状态管理、模块化、工程化、类型系统、服务器渲染以及全栈 Web Framework。本文按照时间与技术演化关系,梳理现代前端三十多年的发展历程,并解释每项重要技术为什么出现、解决了什么问题,以及它们在今天前端体系中的位置。

Java 日期时间 API 完整学习指南:从 LocalDate 到 ZonedDateTime

本文基于 JDK 8+ / JDK 21 的现代日期时间 API,对 Java 中最常用的 LocalDate、LocalTime、LocalDateTime、DateTimeFormatter、Period、Duration、ChronoUnit、Instant、ZoneId、ZonedDateTime、OffsetDateTime、TemporalAdjusters、YearMonth 等 API 进行系统整理。 全文按照“API 总表 → 单独示例 → 类型转换 → Web 开发映射 → 综合案例”展开,并对核心方法进行连续编号。掌握本文内容后,应能够独立完成生日计算、订单过期、时间格式化、时间差计算、时区转换、时间戳处理等常见业务。

软件开发流程:如何从想法落地成工程

本文围绕软件开发的完整生命周期展开,从需求分析、系统设计、编码开发、软件测试,到项目部署、运行维护和版本迭代,梳理一个软件从想法到正式上线的完整过程。同时介绍常见开发模型、系统设计方法、测试方式、部署流程以及线上故障排查与维护思路,帮助建立完整的软件工程开发认知。

从两个数比较到十大排序算法

排序算法并不是从“冒泡排序代码”凭空开始的。本文从最基本的两个数字比较大小出发,逐步扩展到三个数字、四个数字以及 $n$ 个数字的排序问题,从重复比较与交换的需求自然引出排序算法。随后系统实现冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序和基数排序。每种算法均给出核心思想、伪代码、C 语言实现、Java 实现,并分别推导最好、平均、最坏时间复杂度与空间复杂度,同时结合实际数据规模分析其适用场景。所有实现均不调用 `qsort`、`Arrays.sort`、`Collections.sort` 等标准库排序能力,而是直接使用变量、数组、循环、判断、函数、递归等基础语法完成。

Java 全栈学完后到底能做什么?从淘宝、美团、12306、Salesforce、SAP 看真实企业项目

学习 Java 全栈时,我们经常接触商城、外卖、ERP、CRM、票务系统等项目,但如果只停留在“商品 CRUD、订单 CRUD、用户 CRUD”,很难真正理解 Java 企业开发到底在解决什么问题。 事实上,**淘宝、美团外卖、12306、Salesforce、SAP 等成熟系统,分别代表了电商交易、即时配送、票务交易、企业 SaaS、ERP 等典型软件形态**。 本文不讨论教学 Demo,而是从这些真实成熟产品出发,分析它们背后的业务模型、系统复杂度以及 Java 技术体系可以承担的工程职责,从而回答一个更实际的问题: > **Java 全栈真正学完以后,到底可以开发什么?

B端、C端、G端与 ERP、CRM、WMS:企业业务系统常见术语全景指南

在企业软件和互联网产品中,经常会遇到 **B端、C端、G端、ERP、CRM、SCM、WMS、MES、OA、SaaS** 等术语。 这些概念看似零散,实际上主要回答四个问题: 1. **系统给谁使用?** 2. **业务发生在谁和谁之间?** 3. **系统解决什么企业业务问题?** 4. **软件通过什么方式部署和交付?** 本文按照统一分类框架,对常见企业业务系统与行业术语进行梳理,帮助快速建立企业软件领域的整体认知。

盛水最多的容器

本题求数组两线间“短板×宽度”的最大值。暴力法枚举全部组合(O(n²)),双指针法则通过每次移动较短的指针向中心靠拢,以 O(n) 时间高效求解,是本题最优解。