自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 黑马点评|项目日记(day02)

本文总结了优惠券秒杀系统的设计与实现,重点解决分布式环境下的全局ID生成、并发控制问题。通过Redis实现全局唯一ID生成器,采用雪花算法思想保证分布式ID的唯一性和有序性。针对秒杀场景,分析了超卖和一人一单问题,对比了乐观锁、悲观锁、分布式锁等解决方案,详细阐述了Redisson分布式锁的实现原理和优化策略。最后提出异步秒杀方案,利用Redis消息队列替代阻塞队列,实现请求异步处理,提高系统吞吐量和可靠性。文章系统性地梳理了从单体到分布式架构演进中的关键技术难点和解决方案。

2025-08-28 11:20:30 1010

原创 黑马点评|项目日记(day02)

本文主要探讨Redis在业务场景中的实际应用,重点分析了店铺缓存系统的实现与优化。文章首先介绍了缓存的基本概念及其多层级架构,然后详细阐述了商户数据缓存的实现逻辑和代码示例,通过先查Redis再查数据库的流程提高响应速度。针对缓存与数据库一致性问题,分析了三种更新策略及其适用场景,推荐使用CacheAsidePattern策略。最后深入讨论了缓存穿透、雪崩和击穿问题的成因及解决方案,包括空值缓存、互斥锁和逻辑过期等方法,并提供了对应的Java代码实现。文章强调合理使用缓存能显著提升系统性能,但也需注意数据一

2025-08-21 18:16:15 926

原创 黑马点评|项目日记(day01)

本文介绍了基于session和redis实现短信登录的两种方案。基于session的方案通过将验证码和用户信息存入session实现登录验证,利用拦截器进行登录状态校验,并通过ThreadLocal解决线程安全问题。针对集群环境下session共享问题,提出了基于redis的改进方案,使用随机token作为key存储用户信息,并设计双拦截器机制分别处理token刷新和登录校验,解决了session过期和请求拦截问题。redis方案相比session拷贝更高效,通过hash结构存储用户数据减少内存占用,同时优

2025-08-13 02:27:00 605

原创 苍穹外卖|项目日记(完工总结)

本文是一篇关于外卖系统开发项目的技术总结报告。作者在16天内完成了这个练手项目,详细介绍了项目的技术架构和实现过程。文章分为五个部分:第一部分介绍项目整体架构,包括Nginx网关、SpringBoot应用层和MySQL/Redis数据层等技术选型;第二部分讲解JWT令牌、Swagger接口文档和MD5加密等基础技术;第三部分深入ThreadLocal、消息转换器、分页查询和AOP公共字段填充等进阶技术;第四部分重点介绍了Redis缓存、微信登录支付等核心业务实现;第五部分分享了SpringTask定时任务、

2025-07-20 18:47:16 1556

原创 苍穹外卖项目日记(day12)

本文介绍了在苍穹外卖项目中如何利用Apache POI操作Excel报表。主要内容包括:1) Apache POI组件(HSSF/XSSF/SXSSF)的基本概念;2) 项目中导入POI依赖的方法;3) 实际应用示例,展示如何将30天营业数据填入Excel模板并导出。作者表示虽然项目后端已完结,但仍需继续学习微服务、408等知识。文章通过代码示例详细演示了从模板读取、数据填充到浏览器下载的完整流程。

2025-07-18 22:43:15 275

原创 苍穹外卖项目日记(day11)

苍穹外卖项目日报(day11) 今日重点学习了优雅的代码实现方式,包括Stream流的使用和动态SQL优化。通过项目实践掌握了Stream的创建、中间操作和终端操作,以及如何利用Map封装查询条件提高灵活性。在销量排名统计功能中,实现了直接在SQL中完成分组、排序和限制结果的优化方案。不足之处在于对时间处理类(LocalDate/LocalDateTime)和Stream流的熟练度还需提升。整体收获是如何写出更简洁、高效的代码逻辑。

2025-07-17 19:16:03 673

原创 苍穹外卖项目日记(day10)

【项目日记摘要】day10主要完成了SpringTask定时任务和WebSocket的学习与实现。通过@Scheduled注解开发了订单超时自动取消功能,使用cron表达式配置任务调度。同时掌握了WebSocket的全双工通信特性,实现了服务端主动推送功能,并完成了来单提醒业务模块。具体包括:SpringTask的轻量级定时任务配置、WebSocket的核心注解使用(@ServerEndpoint等)、以及支付成功后通过WebSocket向商家端推送提醒的功能实现。项目采用SpringBoot框架,通过注解

2025-07-16 20:00:03 1098

原创 苍穹外卖|项目日记(day08-day09)

前言: 今天是最煎熬的一天, 因为微信支付功能无法实现, 一直再改bug, 最后在一位大佬的文章中找到解决方法.

2025-07-16 16:46:52 1012

原创 苍穹外卖项目日记(day07)

本文介绍了"苍穹外卖"项目第7天的开发进展,主要包括三个方面的内容:一是菜品缓存逻辑的实现,通过Redis缓存菜品数据来减轻数据库压力;二是使用Spring Cache进行套餐缓存;三是购物车接口的开发。 在菜品缓存方面,文章详细说明了实现思路:为每个分类下的菜品建立缓存,当数据变更时清理缓存。代码层面展示了如何在用户端接口加入缓存查询逻辑,以及在管理端接口添加缓存清理功能,确保数据一致性。 套餐缓存部分提到使用Spring Cache框架,通过简单注解即可实现缓存功能,并支持多种缓存实

2025-07-12 22:30:54 722

原创 苍穹外卖项目日记(day06)

本文记录了苍穹外卖项目第六天的开发日志,重点介绍了微信小程序登录功能的实现。主要内容包括:1)微信小程序开发的前置条件,如注册和完善公众号信息;2)微信登录流程设计,涉及用户授权码获取、后端接口调用和令牌生成;3)具体代码开发,包括拦截器配置、JWT令牌生成和用户服务实现。通过HttpClient调用微信接口服务,完成用户认证并返回令牌,为后续业务请求提供身份验证支持。

2025-07-12 22:06:30 329

原创 苍穹外卖项目日记(day05)

苍穹外卖项目Redis集成实践 本文介绍了在苍穹外卖项目中集成Redis的实践经验。主要内容包括: Redis基础知识:特性概述和字符串数据结构的基本操作 Java项目集成步骤: 添加Spring Data Redis依赖 配置Redis数据源 创建RedisTemplate配置类 实际操作示范 项目应用:将店铺营业状态(1营业/0休息)缓存至Redis,避免单独建表浪费资源。实现了营业状态设置和查询接口,通过RedisTemplate操作数据。该方案显著提升了系统性能,简化了数据存储结构。

2025-07-12 21:31:07 366

原创 苍穹外卖项目日记(day04)

摘要 该项目日记记录了苍穹外卖系统开发第四天的重点工作。主要涉及菜品和套餐状态管理功能开发,重点解决了多表联查和修改逻辑的技术难点。具体内容包括:1) 菜品停售/起售状态设置时同步关联套餐状态;2) 套餐启售前校验是否包含停售菜品;3) 动态SQL中useGeneratedKeys和keyProperty参数的使用场景及示例。通过@Transactional注解确保数据一致性,并详细说明了如何利用这两个参数获取数据库自动生成的主键值。开发过程中注重异常处理和业务规则的严格校验。

2025-07-09 21:15:49 594

原创 苍穹外卖项目日记(day03)

苍穹外卖项目日记(day03)摘要 今日主要完成四个功能模块: 公共字段填充(AutoFill):通过AOP切面编程实现自动填充创建/更新时间、操作人字段,涉及自定义注解、枚举类和反射技术 阿里云文件上传:集成OSS对象存储服务,实现菜品图片上传功能 多表查询:使用逻辑外键和动态SQL完成复杂业务数据关联查询 信息转换器:开发数据格式转换组件 重点难点在于AOP实现公共字段自动填充,通过@Before前置通知和反射机制,根据操作类型(INSERT/UPDATE)动态设置不同字段值。整体技术栈涉及Spring

2025-07-08 00:51:59 1142

原创 PageHelper基本使用(springboot项目中)

摘要:PageHelper是MyBatis常用的分页插件,支持多数据库且无需修改SQL语句。在SpringBoot项目中,通过添加pagehelper-spring-boot-starter依赖即可自动配置。使用时只需调用PageHelper.startPage()方法,即可在查询结果中实现分页,并通过PageInfo获取分页信息。插件会自动在SQL语句后添加LIMIT子句,但要注意它只对紧跟其后的第一条SQL有效。合理配置参数如helperDialect和reasonable等可优化分页行为。

2025-07-06 10:33:50 469

原创 StringBuilder运用

摘要:StringBuilder是处理字符序列的高效工具类,与StringBuffer功能相同但不保证线程安全。它提供了拼接(append)、反转(reverse)、替换(replace)、删除(delete)和插入(insert)等常用方法,适用于频繁修改字符串的场景。相比"+"拼接字符串,StringBuilder在循环或大量操作时性能更优,避免了频繁创建String对象。其内部还支持获取内容(charAt/substring)和查找(indexOf)等方法,是字符串处理的理想选择。

2025-07-06 09:58:17 440

原创 苍穹外卖(day02)

了解写接口中使用的新方法(BeanUtils, builder)新增员工员工分页查询员工账号状态编辑员工信息。

2025-07-05 23:33:40 1127

原创 Jwt代码详解

JWT代码解析摘要 本文详细解析了JWT(JSON Web Token)在Java中的实现。主要内容包括: JWT工具类:包含创建JWT(指定签名算法、设置过期时间)和解析JWT的方法 拦截器实现:通过HandlerInterceptor接口验证JWT有效性,处理权限控制 拦截器注册:使用WebMvcConfiguration配置拦截路径和排除路径 配置管理:通过@ConfigurationProperties绑定JWT相关配置参数 整个流程实现了从JWT生成、验证到权限控制的完整解决方案,体现了Sprin

2025-07-04 13:34:23 935

原创 常用工具JWT令牌

通过详细了解JWT的使用,加深了对拦截器和注册拦截器的理解,对Spring的理解上了一个台阶.

2025-07-04 13:31:49 616

原创 苍穹外卖结构篇(day01)

《苍穹外卖项目搭建笔记》摘要: 本文记录了黑马程序员苍穹外卖项目的初期搭建过程。项目采用模块化设计,分为sky-common(公共模块)、sky-pojo(数据载体)和sky-service(核心业务)三大模块。目录结构清晰划分常量、异常处理、工具类等功能包,其中pojo层通过Entity/Dto/Vo实现数据分层解耦。项目整合了JWT令牌认证、Swagger接口文档(使用Knife4j)和Git版本控制等工具。通过分层设计,有效隔离数据库操作、业务逻辑和前端展示,提升代码可维护性和安全性。作者计划用16天

2025-07-03 21:34:01 925

原创 崩溃感悟-

同志们,我最近在力扣上刷题目,也不能称为刷,基本都不会,或许因为每日一练中全是中等题吧.在刷到一个求最短路径的题目后,我立刻有了思路,但不是越界就是细节问题.看了题解才知道求最短路径有不少解法,bfs等,这些都是<<算法与数据结构>>里的内容,我开始学数据结构和算法了.给你们瞅一眼让我难堪的题目。

2024-11-23 23:45:43 848

原创 leetcode每日崩溃练习

如果有跟我一样初学者的话,我的建议是多练习,多敲代码,在敲代码的过程中,你会产生不少疑问,帮助你扩展知识.当然要学会利用AI工具.

2024-11-20 20:24:54 367

原创 力扣每日练习-心得及感悟

哎,看了力扣上的题目,我才知道我最近看的是什么垃圾题,力扣上一道题硬控我几小时.再写题的过程中,思路很重要,不要上来就敲几行没用的代码,还有就是,备纸笔画图写思路更直观.

2024-11-19 00:04:38 1407

原创 字母图形练习-感悟及心得

问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样例输出ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这道题让我即熟悉又为难,根据分析,

2024-11-16 22:26:04 281

原创 杨辉三角练习-心得及体会

杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。下面给出了杨辉三角形的前4行:11 11 2 11 3 3 1给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。样例输入4样例输出11 11 2 11 3 3 1。

2024-11-14 00:45:41 401

原创 练习之特殊回文数-心得及体会

依旧是郁闷的一天,从学了之后,我就知道不能眼高手低,代码看着简单,但自己去敲的时候,那种思路,思想的过程是不可替代的,真的感觉时代进步太快了,学一些小东西,就必须学与这些小东西相关的东西,太过冗杂了.希望能彻底解放生产力吧。

2024-11-11 23:45:32 834

原创 sql语句练习-心得及体会

我我我,又郁闷了,每次在本应该掌握的地方出问题,我的问题:代码:values = ', '.join(['% s'] * len(data))与。

2024-11-09 23:26:00 324

原创 练习之求和公式-心得及体会

想了想还是把题目放上,让大家见识见识我的基础薄弱,连这种题目都不会.

2024-11-09 16:12:39 368

原创 练习圆的面积-心得及感悟

大家都耳熟能详,我也相同.但用到代码实现的时候,我就非常的头疼.我对math库不怎末熟悉,以至于我不知道其中。以上就是在圆的面积练习中遇到的问题,我挺喜欢这个过程的,把忘的东西捡起来,并拓展新知识。就是派(那个字打不出来),我还专门去查了下圆面积的推导,呵呵,我很可笑吧.等,都是初中的内容.

2024-11-09 01:21:32 321

原创 今日算法练习 - fibonacci序列

Fibonacci序列的思想并不难,我却花了很长时间,我目前只知道两种方法。思路:Fibonacci数列的原理是一个数是前两个数之和,它的。,我还不是很理解这两个复杂度,或许与这个有关.我在搜素相关资料的时候,有很多人提到了。def(自定义函数)

2024-11-08 12:06:21 192

空空如也

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

TA关注的人

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