学习log 以及一些安排 Java全栈

#31
前言
​ 最近挺忙的 再忙一些复习周的事情 然后大概快两礼拜没认真更新学习日志了。今天以后差不多都有时间,每天都可以至少安排10h时间 来专门学习了。 以下内容,先总结一下前面几天学的,以及目前进度,学习的时候踩过的坑,以及未来两周尽可能详细的短期规划。

学习小结
​ 差不多10天前开始入门了软件测试 看的课程什么的 具体的在#16开始 看的一个老外课程还有黑马测试 感觉就是看了一些理论 和工具的使用 但是 具体的测试又没写 工具理论又忘记了 <白雪警告!!!>真是密码的。 这算是一个大坑 ,太理论 的课程 下次不听了!!

​ 然后除了软件测试,还干的啥?实操,就是 黑马javaweb 13-后端Web进阶(AOP) - 飞书云文档 里面有一个talis学生信息管理系统 之前都是看视频没实际操作 觉得很简单 然后自己写 就不会 看着笔记抄也会出现一些奇怪的bug(还花了我好几天夜晚写),密码的然后自己又不懂调。大概是8-12章那个实战任务 然后就是crud springboot 和spring mvc 然后是mybatis xml 也确实是学了一点点东西 但是仅仅局限于 理论 和基础架构 具体的细节和语法还是很多不懂 比如说一些spring注解 也不知道怎么用 sql建表语句看得懂倒是这样 但是如果让自己写 还是一头雾水 ,最后就是难绷。这也算是一个坑把。独立开发能力,以及有点急于求成,基础很不稳,感觉。

​ 然后还干了啥我想一下 ,java八股文 ,之前是看小林coding 打印了 基础 和集合基础 但是好像又没怎么看了,主要是有挺多概念没听过不懂 背不下来 也不会用 有点太底层了 但是好像是因为java基础没打牢 密码的还得回顾一下底层的源码实现一下 下次一定。多敲几遍,尽量记住一些常见类的实现的底层代码以及原理。然后就是还打印了一个网上很热门的字节面试题 怎么说153页 但是也没怎么看 有点唐了我呵呵。下次肯定看。然后就是小林的八股的spring mysql 数据结构也可以这几天看一下 主要是基础底层代码实现 以及原理 得应付一下考试这个是黑马八股,可以看看先把。我觉得当听书听了也错,边听,边写博客 打发时间吧,八股离我还有点远。

​ 我想想最唐的是啥,0基础开发项目。本来想从0开始学,然后自底向上学,发现这样更不行不通 对于开发一个完整的项目就必须要知道他的详细的架构 以及所用的技术栈。 写的几个小项目把,几个都没成呵呵。第一个,软件实践课的大作业,银行管理系统,两个表,一个用户登录 一个个订单交易表,基于java swing + jdbc + mysql + 登录密码哈希加密。做的第一个小小小的代码项目 ,当还是大多是ai 帮忙开发的,这是第一次开启java 数据的使用 了解了一下 数据库的链接 和使用 以及了解了一下crud。 第二个,我想要写一个电子协会,前端项目 但是胎死腹中, 我本来想要先构建一下前端 ,但是发现自己前端框架 不会用比如vue3 没用上 纯ai +前端3大件乱堆 ,然后就是给ai调 再调,浪费时间长 也没学到具体的技术栈。第三个,想写一个基于微信app的家教兼职项目,做了数据库的表5个表,然后想=用的框架是vue+ springboot+ spring mvc+ mybatis xml+mysql 结果就是vue 前端没详细学 用ai写 想边写边学具体语法但是发现 ai写的具体项目是错的 然后我也调不对 ,然后就是这样了,前端构建失败,后端 写了登录注册 但是发现根本用不了 也不知道到底错误再哪里,就在哪里拼命看代码 想找bug 但是具体的语法细节自己又不熟 有改不对,更唐的是,自己选的 技术栈还错了,微信小程序要用flutter前端架构。 然后vue还需要加一个ts一些学,函数式编程。其次是具体的技术栈不需要固定死,某些api用后端java 有些用node.js 或ts也是可以的。最后一个是,黑马若依的架构,看了一点,然后太多不会没写。

​ 最后是一下唐的东西,比如想起来自己注册了域名 然后学了一下域名解析 具体的打包 比如前端怎么上架nginx,后端Tomcat 然后就是了解了一下web3 闲着没事看了一下 发现并不难比如solidity 但是好像对我没有什么具体的应用方面。

计划
后面可能的计划 java,数据结构的期末课程 速通的过一遍看一下 然后基础java 基础以及集合 的八股文 代码实现 主要是Java算法题

黑马的文档 以及课程给他打完 每天打一点 先看文档再看视频 然后多做一点笔记就可

然后就是要把 java web 后面几个代码也写了 实战操作 前端 和 部署,

几个技术栈自学 一下 spring boot spring mvc mybatis具体学一下 ssm架构

苍穹外卖先来 120h 10天

黑马苍穹外卖用到的技术栈如下:

### 后端
- **核心框架**:Spring Boot,用于快速构建RESTful API,简化配置,提供大量开箱即用功能。
- **数据访问层**:MyBatis或MyBatis Plus,用于与数据库交互,简化SQL操作,提供良好的灵活性。
- **数据库**:MySQL 8.0,存储业务数据。
- **缓存**:Redis 5.x,用于缓存管理,提升查询效率,减轻数据库压力。
- **消息队列**:RabbitMQ,用于解耦系统,处理异步任务,如订单支付后的异步通知。
- **安全框架**:Spring Security,用于用户身份验证与授权,确保系统的安全性。
- **API文档管理**:Swagger,生成API文档,提供可视化接口测试功能,帮助前端开发调试API。
- **工具类**:Lombok,简化Java代码,减少样板代码;Hutool,提供了丰富的工具方法,提高开发效率。
- **分布式锁**:Redisson,实现分布式锁,确保库存和订单的并发安全,避免超卖和数据不一致。
- **定时任务**:Spring Task,实现订单的超时处理,超时自动取消订单。
- **日志分析**:ELK日志分析系统,用于收集、分析和可视化系统日志。

### 前端
- **管理端**:Vue.js + ElementUI构建后台管理系统界面。
- **用户端**:微信小程序开发用户点餐界面。
- **图表展示**:Apache ECharts,在管理端用于展示统计图表。

### 其他
- **文件存储**:阿里云OSS,存储文件,如菜品图片等。
- **反向代理与负载均衡**:Nginx,作为http服务器,部署静态资源,实现反向代理和负载均衡。
- **版本控制**:Git,进行版本控制,方便团队协作中的代码管理。
- **接口测试**:Postman,模拟用户发送各类HTTP请求,进行接口测试。
- **单元测试**:JUnit,开发人员进行功能单元测试。
- **JWT**:用于在通信双方以json数据格式安全的传输信息,主要用于登录认证。
然后后面就是写项目了,黑马点评 项目 80h 一周内

B站黑马点评项目采用了多种技术构建,以下是其主要技术栈:
- **后端**:
    - **Spring Boot**:快速构建Spring项目,简化配置,方便集成各种框架。
    - **MySQL**:用于存储项目中的各种数据,如用户信息、店铺信息、点评信息等。
    - **MyBatis Plus**:在MySQL基础上,作为数据访问框架,简化了数据库操作,提供了丰富的CRUD方法。
    - **Redis相关**:
        - **spring - data - redis**:用于在Spring项目中操作Redis,提供了统一的API。
        - **Lettuce**:是操作Redis的高级客户端,性能较好。
        - **Apache Commons Pool**:实现了Redis连接池,管理Redis连接,提高性能和资源利用率。
        - **Redisson**:基于Redis的分布式数据网格,用于实现分布式锁、分布式集合等功能。
    - **HuTool**:工具库合集,提供了各种实用的工具方法,如字符串处理、日期处理等,提高开发效率。
    - **Lombok**:通过注解方式减少Java代码的冗余,如自动生成Getter、Setter、构造函数等。
    - **Tomcat**:作为Java Web应用服务器,部署后端项目,处理HTTP请求。
- **前端**:
    - **原生HTML、CSS、JS**:构建前端页面的基础技术,HTML用于结构搭建,CSS用于样式设计,JS用于实现交互逻辑。
    - **Vue 2**:渐进式JavaScript框架,用于构建前端应用,实现数据绑定、组件化开发等,提高开发效率和代码可维护性。
    - **Element UI**:组件库,提供了丰富的UI组件,如按钮、表单、表格等,基于Vue 2开发,能快速搭建美观的前端界面。
- **其他**:
    - **Nginx**:用于前端项目的部署,具有反向代理、负载均衡等功能,可以隐藏真实服务地址,分担服务器压力,还能进行静态资源的处理。
    - **ThreadLocal**:用于在同一个线程内共享数据,在黑马点评项目中用于存储登录用户的信息,避免在不同方法之间频繁传递用户信息。
主要 学的是redis

Redis 是高性能键值数据库,简单说就是 **快速存、取数据的“内存工具箱”** ,常用在这些场景:  
- **加速访问**:把高频数据(如商品信息、用户资料)放内存,替代数据库,让查询更快、减轻数据库压力;  
- **维持会话**:分布式系统里,存用户登录状态(Session),让不同服务节点能共享、识别身份;  
- **异步通信**:当消息队列,暂存异步任务(如注册发邮件),实现任务解耦、提升主流程效率;  
- **实时统计**:用原子操作计数(在线人数、阅读量),或借有序集合做排行榜(销量榜、积分榜 );  
- **保障可用**:通过主从、哨兵、集群模式,扩展性能、自动故障转移,让服务更稳。  

一句话总结:**靠内存快速读写,帮系统“提速、解耦、稳运行”,是高并发场景里常用的“效率神器”** 。
,写完 这个再写若依 和几个小项目 饿了么 医疗 120H + 40H 15天

若依框架的技术栈涵盖后端、前端、数据库、中间件等多个方面,以下是详细介绍:
- **后端技术**
    - **Spring Boot**:作为核心框架,用于快速构建Spring应用,简化配置,实现快速开发。
    - **MyBatis**:持久层开发框架,用于与数据库交互,进行数据的持久化操作。
    - **Druid**:数据库连接池,提供高效的数据库连接管理,提升系统性能。
    - **Redis**:内存数据库,用于缓存数据,提高系统的读写速度,应对高并发场景。
    - **Shiro/Spring Security**:安全框架,用于实现用户身份认证、授权和访问控制,保障系统安全。
    - **Quartz**:定时任务框架,用于实现定时任务的调度和管理。
- **前端技术**
    - **Vue.js**:流行的前端框架,用于构建用户界面,采用组件化开发,提高代码的复用性和可维护性。
    - **Element UI**:基于Vue.js的UI组件库,提供丰富的组件和样式,快速搭建美观的前端界面。
    - **Axios**:用于前端与后端进行数据交互的HTTP库,方便发送请求和处理响应。
    - **Webpack**:前端构建工具,用于打包、压缩、优化前端资源,提高页面加载速度。
- **数据库**:支持多种数据库,如MySQL、Oracle、SQL Server等,可根据项目需求选择合适的数据库。
- **中间件**
    - **Nginx**:高性能的Web服务器、反向代理服务器,用于处理静态资源、负载均衡和反向代理等。
    - **RabbitMQ**:消息队列中间件,用于实现异步消息处理、解耦系统模块,提高系统的可靠性和可扩展性。
    - **Elasticsearch**:分布式搜索引擎,用于全文搜索、数据分析等场景。
- **其他工具**
    - **Node.js**:用于前端开发,提供服务器端运行环境,安装Node.js 12或更高版本。
    - **Git**:用于版本控制,方便团队协作开发,管理代码的版本和变更。
数学建模 穿插学习

所有技术栈

AI 学习建议
前两周
学习建议:从基础夯实到项目实战的系统规划
一、核心问题诊断与优化方向
1. 现有学习痛点分析
理论与实践脱节:看视频学理论但缺乏代码实操,导致工具和框架使用生疏(如软件测试工具、Spring 注解)。
基础不牢急于求成:Java 基础(如集合源码、并发原理)和数据结构薄弱,直接挑战复杂项目(如微信小程序开发),导致 bug 频发且无法调试。
项目选型与技术栈混乱:前端(Vue3 / 微信小程序)、后端(Spring Boot)、数据库(MySQL/Redis)技术栈跨度大,未形成体系化学习路径。
学习资源杂而不精:同时接触多门课程(黑马、老外课程、小林 coding),但缺乏主线,导致知识碎片化。
2. 优化策略
先筑基后拓展:用 2-3 周集中补牢 Java 基础和数据结构,再切入框架和项目。
项目分阶段拆解:从 “单模块 CRUD” 到 “完整前后端项目” 逐步升级,避免直接挑战复杂系统(如微信小程序)。
技术栈聚焦:当前以 Java 后端为主(Spring Boot+MyBatis+Redis),前端暂学基础 Vue2,后续再深入其他框架。
二、分阶段学习路径规划(未来 2 周)
阶段一:Java 基础与数据结构攻坚(3 天)
目标:掌握 Java 核心语法、集合框架、并发编程基础,能独立完成简单算法题。

每日任务

上午

复习《Java 核心技术》前 6 章(变量、面向对象、异常处理),用 IDEA 敲写书中示例(如类的继承、多态案例)。
刷 LeetCode 简单题(2 题 / 天),重点练数组、链表操作(如21. 合并两个有序链表)。
下午

学习 Java 集合框架源码(ArrayList/HashMap),参考《深入理解 Java 集合框架》,手写简易版 ArrayList(实现 add/remove 方法)。
用 JMH 工具测试不同集合性能(如 ArrayList vs LinkedList 的随机访问速度)。
晚上

看小林 coding《Java 并发编程》前 3 节(线程创建、锁机制),用synchronized和ReentrantLock实现简单线程安全案例(如票池售票)。
整理笔记:用思维导图梳理 Java 基础知识点(如 “Java 内存模型”“垃圾回收机制”)。
资源推荐:

书籍:《Java 编程思想(第 4 版)》前 10 章、《数据结构与算法分析:Java 语言描述》
视频:B 站《尚硅谷 Java 零基础教程》(跳过已掌握部分,重点看集合、并发)
阶段二:Spring Boot+MyBatis 基础整合(4 天)
目标:掌握 SSM 框架核心功能,能独立完成单表 CRUD 项目。

每日任务

第 1-2 天:Spring Boot 入门
用 Spring Initializr 创建项目,集成 Web、MyBatis、MySQL 依赖,实现 “Hello World” 接口。
学习注解(@SpringBootApplication/@RestController/@Autowired),理解自动配置原理(查看spring.factories文件)。
实战:用 Spring Boot+MyBatis 完成 “学生信息管理系统”(单表 CRUD),参考黑马教程但独立写代码,不照抄。
第 3-4 天:MyBatis 进阶与数据库操作
学习 MyBatis XML 映射文件(ResultMap / 动态 SQL),对比注解开发的优缺点。
实战:实现 “图书管理系统”,包含多表关联查询(如 “图书 - 作者” 一对多关系),用@One/@Many注解或 XML 配置。
数据库优化:学习索引创建(复合索引)、慢 SQL 排查(用 MySQL Explain 分析执行计划)。
避坑指南:

每完成一个功能(如新增接口),立即用 Postman 测试,避免积累多个 bug 后难以调试。
遇到框架报错(如 “Bean 注入失败”),先看控制台日志,再查依赖版本是否冲突(用mvn dependency:tree命令)。
阶段三:Redis 实战与项目整合(5 天)
目标:掌握 Redis 核心数据结构,能在项目中实现缓存、分布式锁等功能。

每日任务

第 1-2 天:Redis 基础操作
安装 Redis 服务器,用 Redis-cli 练习 5 大基础数据结构(String/List/Hash/Set/ZSet)。
实战:用 Spring Data Redis 实现 “博客浏览量计数”(String 类型)、“评论列表缓存”(List 类型)。
学习 Redis 持久化(RDB/AOF)和主从复制,用 Docker 部署一主二从集群。
第 3-4 天:Redis 高级应用
实现分布式锁(Redisson):在 “商品秒杀” 场景中防止超卖,对比setNx与 Redisson 的实现差异。
缓存穿透 / 击穿 / 雪崩解决方案:用布隆过滤器(BloomFilter)防止穿透,热点数据加随机过期时间。
第 5 天:整合到苍穹外卖项目
参照黑马教程,为苍穹外卖的 “菜品查询” 接口添加 Redis 缓存,对比缓存前后的响应时间(用 JMeter 压测)。
学习项目中的 Redis 应用场景:订单超时取消(用 SortedSet 实现延迟队列)、用户会话存储(Hash 类型)。
关键工具:

Redis 可视化工具:RedisInsight(查看数据结构和集群状态)
压测工具:JMeter(测试缓存对 QPS 的提升效果)
阶段四:数学建模与 Java 结合(3 天)
目标:用 Java 实现基础数学模型,打通技术与建模的连接点。

每日任务

第 1 天:数据处理与可视化
用 Java+Apache Commons Math 库实现线性回归模型,处理 “房价预测” 数据(CSV 读取→特征标准化→参数求解)。
用 JFreeChart 绘制预测值与真实值的对比折线图,理解数学建模中的 “模型评估” 环节。
第 2 天:优化模型实现
用 Java 实现遗传算法求解 TSP(旅行商问题),重点理解选择 / 交叉 / 变异算子的代码逻辑。
对比 Python(SciPy)与 Java 在数值计算上的性能差异(如大规模矩阵运算时的耗时)。
第 3 天:数学建模与项目结合
在黑马点评项目中,用 Java 实现 “用户相似度计算”(基于余弦相似度),为后续推荐系统做铺垫。
学习数学建模论文中的技术方案如何转化为代码(如将层次分析法的权重计算写成 Java 工具类)。
三、高效学习方法与避坑技巧
“理论→代码→调试” 闭环学习
每学一个框架知识点(如 Spring Boot 自动配置),先看官方文档或源码注释,再写 10 行以内的测试代码验证,最后故意制造错误(如删除必要依赖)观察报错信息。
项目拆解与模块化开发
以苍穹外卖为例,先完成 “员工管理模块”(单表 CRUD),再逐步添加 “菜品管理”(多表关联)、“订单系统”(事务 + 消息队列),每次只聚焦一个模块的核心功能。
错误记录与复盘
建立 “bug 日志” 文档,记录问题现象(如 “MySQL 连接超时”)、排查步骤(查看端口 / 日志)、解决方案(修改连接池参数),每周复盘一次高频问题。
技术栈选择原则
初期避免追新:先用 Spring Boot 2.7(稳定版)而非 3.0,MyBatis 而非 MyBatis Plus,确保文档和教程资源充足。
前端暂学 Vue2+Element UI,后续再学 Vue3,避免同时接触多个框架导致混淆。
四、每日时间分配与进度跟踪
时间规划(10 小时 / 天)

markdown

08:00-10:00  理论学习+笔记(Java基础/框架原理)  
10:30-13:00  代码实操(完成当日任务案例)  
14:30-17:00  项目开发(按阶段目标推进)  
18:30-20:00  错误调试+文档查阅  
20:30-22:00  数学建模知识补充+代码实现  
进度检查工具

用 Notion 或飞书文档记录每日完成情况,附代码截图和运行结果。
每周日晚用 XMind 梳理本周知识点,标注未掌握的部分(如 “Redis 分布式锁原理”),下周优先攻克。
五、备选资源与问题应急方案
优质教程备份

Spring Boot 官方文档:https://spring.io/docs
MyBatis 中文文档:http://www.mybatis.org/mybatis-3/zh/index.html
Redis 官网教程:https://redis.io/docs/getting-started/
调试求助渠道

本地问题:用 IDE 断点调试(IDEA 的 “条件断点”“日志输出” 功能)。
框架问题:在 Stack Overflow 搜索报错信息(如 “Failed to configure a DataSource”),参考高赞回答。
项目协作:加入黑马程序员官方学习群,上传代码片段寻求帮助(避免直接问 “怎么运行不起来”,需说明具体错误)。
通过以上规划,可在 2 周内系统提升 Java 开发能力,同时兼顾数学建模的技术落地,避免重复踩 “理论脱离实践” 的坑。关键在于每日严格执行任务,并通过 “写代码→改 bug→复盘” 形成学习闭环。

第3到第6周
第 2 周到第 6 周学习规划:从项目实战到架构进阶
一、第 2-3 周:复杂项目实战与微服务基础(14 天)
阶段目标:掌握前后端分离开发模式,完成黑马点评项目全流程,入门微服务架构。
第 2 周:黑马点评项目攻坚(7 天)
核心技术栈:Spring Boot+MyBatis Plus+Redis+Vue2+Element UI
每日任务拆解:
第 1-2 天:基础功能实现
完成用户模块(登录注册、JWT 认证),用 Redis 存储用户会话,实现手机号验证码登录(对接阿里云短信服务)。
学习 ThreadLocal 存储当前登录用户信息,避免在方法间传递参数(如UserHolder.get()获取当前用户)。
第 3-4 天:业务模块开发
实现店铺模块(多条件查询 + Redis 缓存),用 Redisson 实现分布式锁解决库存超卖问题。
开发点评功能(点赞、回复),用 MySQL 全文索引优化搜索性能,对比 Elasticsearch 的搜索效率。
第 5-7 天:前端整合与项目优化
用 Vue2+Element UI 开发前端页面,通过 Axios 调用后端 API,实现店铺详情页的动态渲染。
性能优化:用 JMeter 压测接口,添加 Redis 缓存后 QPS 从 50 提升至 300+,记录优化前后的参数对比。
避坑指南:
前端跨域问题:在 Spring Boot 中配置@CrossOrigin,或用 Nginx 反向代理解决。
Redis 缓存一致性:采用 “缓存失效 + 消息队列” 方案(如更新数据库后发送 RabbitMQ 消息清除缓存)。
第 3 周:微服务架构入门(7 天)
核心技术栈:Spring Cloud Alibaba+Nacos+Sentinel+OpenFeign

学习路径

第 1-2 天:微服务基础概念
理解分布式系统与微服务的区别,用 Docker 部署 Nacos 注册中心,实现服务注册与发现。
实战:将黑马点评项目拆分为用户服务、店铺服务、点评服务三个微服务,通过 OpenFeign 调用。
第 3-4 天:流量治理与容错
学习 Sentinel 实现服务限流(如限制接口 QPS≤200)、降级(服务不可用时返回兜底数据)。
用 Sentinel Dashboard 可视化监控微服务调用链路,模拟服务雪崩场景并测试容错效果。
第 5-7 天:分布式事务与网关
用 Seata 框架解决微服务间的事务问题(如订单创建时同时扣减库存),对比 2PC 与 TCC 模式的实现成本。
部署 Gateway 网关,实现统一认证(JWT 校验)、请求路由(按 URL 分发到不同微服务)。
二、第 4 周:前端深化与跨端开发(7 天)
阶段目标:掌握 Vue3+TypeScript,完成微信小程序开发,实现前后端全栈能力。
核心任务拆解:
第 1-3 天:Vue3+TypeScript 进阶
对比 Vue2 与 Vue3 的响应式原理(Proxy vs Object.defineProperty),用 Composition API 重构黑马点评前端。
学习 TypeScript 类型系统,为接口参数添加类型注解(如user: { id: number, name: string }),避免运行时类型错误。
第 4-7 天:微信小程序开发
注册微信开发者账号,用小程序原生语法开发 “黑马点评用户端”,实现扫码点餐、订单查询功能。
小程序与后端对接:通过小程序登录获取 openid,调用后端接口完成用户绑定,学习小程序云开发(云数据库 + 云函数)。
实战项目:
开发 “校园二手交易小程序”,包含:
前端:小程序页面(商品列表、发布页、聊天功能)
后端:Spring Cloud 微服务(商品服务、用户服务、订单服务)
难点突破:小程序支付流程对接(统一下单→支付回调→订单状态更新)
三、第 5 周:分布式系统与高可用架构(7 天)
阶段目标:掌握分布式事务、消息队列、搜索引擎等中间件,提升系统设计能力。
技术栈与任务

第 1-2 天:分布式事务实战
用 Seata AT 模式解决 “订单 - 库存” 跨服务事务,模拟下单时库存不足的回滚场景。
对比本地事务与分布式事务的性能差异(本地事务 TPS 1000+ vs 分布式事务 TPS 300+)。
第 3-4 天:消息队列应用
用 RabbitMQ 实现异步任务:订单支付成功后,发送消息通知积分服务增加用户积分。
解决消息丢失问题:开启生产者 confirm 机制 + 消费者手动 ACK,记录消息消费状态到数据库。
第 5-7 天:搜索引擎与大数据处理
用 Elasticsearch 重构黑马点评的搜索功能,实现 “店铺名称 + 地址” 的模糊搜索,对比 MySQL Like 查询的效率(ES 查询耗时 < 50ms vs MySQL 300ms+)。
入门 Hadoop 生态:用 Hive 处理店铺评论数据,分析高频词(如 “好评”“环境好”),生成词云图。
四、第 6 周:数学建模与工程实践结合(7 天)
阶段目标:将数学建模方法融入实际项目,完成综合性解决方案。
分方向学习路径:
方向一:预测模型在电商中的应用(适合零售类项目)
用 Java 实现 LSTM 时间序列模型,预测店铺未来 7 天的订单量(数据预处理→模型训练→API 接口封装)。
在苍穹外卖项目中添加 “销量预测” 模块,为商家提供备货建议,对比传统 ARIMA 模型与 LSTM 的预测误差。
方向二:优化算法在物流中的应用(适合 O2O 项目)
用遗传算法解决 “骑手派单路径优化” 问题,输入订单位置坐标,输出最短配送路线(参考 TSP 问题)。
将算法集成到外卖系统的派单接口中,测试不同种群规模(如 100/500/1000)对求解效率的影响。
方向三:机器学习在推荐系统中的应用(适合点评类项目)
用协同过滤算法(ALS)实现 “相似店铺推荐”,基于用户浏览和点赞记录计算店铺相似度。
在黑马点评中添加推荐模块,对比基于内容的推荐(如标签匹配)与协同过滤的推荐准确率。
综合实战项目:
主题:“智能校园食堂系统”,整合数学建模与工程开发
功能模块:
销量预测:用 Prophet 库预测每日菜品需求量(数学建模部分)
就餐高峰预警:用时间序列分析识别就餐高峰时段,动态调整窗口开放数量
排队优化:用排队论模型(M/M/c 队列)计算最佳窗口数量,减少平均等待时间
技术实现:
后端:Spring Cloud Alibaba 微服务 + Redis 缓存
前端:Vue3+ECharts 可视化预测结果与排队模拟动画
五、全周期学习方法与资源支持
每周复盘与技能评估

制作 “技能雷达图”,每周评估 Spring Boot、微服务、Redis 等技能的掌握程度(1-5 分),针对性补足短板。
复盘项目中的技术难点,如 “分布式事务解决方案选择”“高并发下的缓存策略”,形成技术决策文档。
优质资源补充

书籍

《深入理解 Spring Cloud 与微服务构建》—— 掌握微服务设计原则
《Redis 开发与运维》—— 深入理解 Redis 底层原理与集群架构
《数学建模算法与应用》—— 将数学模型转化为代码的桥梁
视频课程

B 站《尚硅谷 Spring Cloud Alibaba 零基础到精通》
慕课网《微信小程序从入门到发布实战》
Coursera《Machine Learning for Time Series Data》(需科学上网)
面试与竞赛准备

每周刷 5 道 LeetCode 中等题(如动态规划、图论),重点练分布式系统相关算法(如一致性哈希)。
整理 Java 八股文高频问题:
微服务篇:CAP 定理与 Base 理论、服务注册与发现原理、分布式事务解决方案
并发篇:AQS 原理、CAS 与原子类、线程池参数调优
数据库篇:MySQL 索引底层结构、Redis 持久化机制、缓存穿透解决方案
六、风险预案与进度调整
时间管理:若某模块进度滞后(如微服务部署失败),可启用 “3 小时攻坚原则”:3 小时内未解决则暂时跳过,记录问题后继续推进,次日集中解决。
技术选型替代:若微信小程序开发受阻,可先学 uniapp 跨端框架,用一套代码同时生成 H5 和小程序页面。
团队协作模拟:独自开发时,模拟团队分工(如 “前端组”“后端组”“测试组”),按模块提交 Git 分支,练习代码评审流程。
通过第 2-6 周的学习,可从 “单一技术使用者” 升级为 “复杂系统设计者”,既能完成前后端分离的企业级项目,也能将数学建模方法落地到实际业务场景。关键在于每阶段结束后,通过 “项目演示 + 技术分享” 的方式巩固成果(如录制项目演示视频、撰写技术博客),形成可复用的知识资产。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值