自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微服务项目:知识集市

本项目基于 SpringCloud Alibaba 生态构建知识付费全流程微服务平台,核心解决了大文件传输、分布式身份认证、支付流程保障、缓存优化等关键问题。通过实际开发中的方案试错与迭代,深入落地了微服务架构设计、高可用保障、高并发处理等技术实践,既实现了业务需求,也积累了分布式系统中数据一致性、资源调度、流量控制等场景的宝贵经验。

2025-11-24 15:18:25 953

原创 单体项目:小帅选课系统

本次优化围绕高并发场景下的一系列问题展开,通过Redis缓存、分布式锁、消息队列等技术,提升了系统的并发承载能力与稳定性。至此,作为一个单体项目的小帅选课系统基本完成。项目在微服务架构转型上仍有优化空间,后续可进一步推进服务拆分等。

2025-10-22 12:39:38 787

原创 Redis缓存

Cacheable:方法执行前先查缓存,命中则返回,否则执行方法并缓存结果。缓存雪崩:大量 key 同时过期或 Redis 宕机,导致数据库压力骤增。更新策略:先更新数据库,再删除缓存(推荐);或先删除缓存,再更新数据库。延时双删:更新数据库后,延迟一段时间再次删除缓存,解决脏数据问题。数据库数据变更时,先改数据库,再删缓存,查询时加入缓存。缓存击穿:热点 key 过期瞬间,大量请求直达数据库。最终一致性:通过消息队列异步更新缓存,适合非实时场景。缓存穿透:查询不存在的数据,导致每次都访问数据库。

2025-10-01 22:12:46 228

原创 基础项目:小帅选课系统

本文介绍了一个基于Java全栈技术的选课系统开发项目。系统采用SpringBoot+MyBatis+Vue3技术栈,实现了验证码登录、课程查询、选课退课、课程管理等功能。创新性地设计了动态积分算法,通过非线性计算实现课程积分的自动调整,有效缓解选课高峰期的并发压力。项目开发过程中解决了积分算法优化、数据库索引设计、权限控制等技术难点,并总结了AI辅助开发的经验。系统还包含外键、视图等数据库设计元素,可作为学习全栈开发和数据库设计的实践案例。

2025-09-25 09:18:10 991

原创 基础crud项目(前端部分+总结)

整个暑假都在 Java 课程中度过,期间学习了不少前所未闻的知识。虽然第一次做的 Java 项目还是只有基础的crud,但是“守得云开见月明”,相信在自己的努力下,一切终将美好。

2025-09-04 22:46:59 1255

原创 Vue常用指令和生命周期

Vue 是基于 MVVM模型的前端 JavaScript 框架。Vue 核心是数据驱动视图,通过响应式数据实现视图自动更新。

2025-08-30 22:34:27 340

原创 JavaScript中的BOM,DOM和事件

事件是用户与页面交互的行为或浏览器自身的状态变化(如点击、加载完成等),JS 通过 "事件监听" 来响应这些行为。BOM 是浏览器提供的操作浏览器窗口和功能的对象模型,没有统一标准,但各浏览器实现基本一致。鼠标事件:click(点击)、mouseover(鼠标移入)、mouseout(鼠标移出)document:指向 DOM 树的根节点(同时属于 DOM 和 BOM)页面事件:load(页面加载完成)、resize(窗口大小改变)表单事件:submit(表单提交)、change(内容改变)

2025-08-28 23:26:35 376

原创 html基础标签

HTML(HyperText Markup Language,超文本标记语言)是由标签(Tags)构成的标记语言,用于定义网页结构和内容。

2025-08-26 22:14:05 302

原创 Spring Data Redis基础

Bean// 配置连接工厂// 序列化配置:键用 String 序列化,值用 JSON 序列化// 键序列化// 值序列化// 哈希键序列化// 哈希值序列化// 初始化模板。

2025-08-23 15:17:19 609

原创 Redis基础命令

Redis 是一个开源的内存数据结构存储系统,可用作数据库、缓存和消息中间件。

2025-08-22 17:30:00 652

原创 Linux基本操作和命令

Linux 操作以命令行为核心,需掌握文件管理、系统管理、用户权限等基础模块。Linux 中 “一切皆文件”,目录结构为树状结构,根目录 / 是所有目录的起点。

2025-08-21 12:08:28 658

原创 git基础

仓库(Repository):存储项目代码的地方,分为本地仓库和远程仓库(GitHub、GitLab)。本地仓库(Local Repository):存储提交历史的数据库,位于.git目录中。远程仓库(Remote Repository):托管在服务器上的仓库,用于多人协作。暂存区(Stage/Index):临时存储待提交的修改,介于工作区和本地仓库之间。工作区(Working Directory):本地电脑中可见的项目文件目录。分支(Branch):独立的开发线,默认主分支为main或master。

2025-08-20 22:28:17 209

原创 基础crud代码

RESTful 接口规范:用 @GetMapping/{id}/@PostMapping/@PutMapping/{userId}/@DeleteMapping/{id} 对应查、增、改、删操作,路径传主键 + 请求体传数据,确保语义清晰。查:按 ID 查单个用户(/users/{id})、查所有用户(/users);改:按 ID 更新用户信息(/users,请求体传待更字段);删:按 ID 删除用户(/users/{id})。增:新增用户(/users,请求体传待增字段);

2025-08-19 23:13:09 420

原创 SpringBoot预备知识2

【代码】SpringBoot预备知识2。

2025-08-18 22:39:05 233

原创 SpringBoot预备知识1

主启动类:标注 @SpringBootApplication(组合了 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan),启动时触发自动配置。父工程(parent):spring-boot-starter-parent 统一管理依赖版本,简化版本控制(无需手动指定常见依赖的版本号)。@RestController:组合 @Controller + @ResponseBody,直接返回 JSON 数据。

2025-08-16 23:04:07 319

原创 AOP基础

AOP 是一种编程范式,分离横切关注点(如日志、事务、权限)与核心业务逻辑,目的是解耦。(图片来自AI)通知定义了切面在执行。

2025-08-15 21:28:41 189

原创 JavaWeb登录认证与校验

Signature(签名):用服务器密钥对 Header+Payload 加密,用于验证令牌完整性和真实性。Cookie 是客户端存储工具,主要用于传递少量数据或保存非敏感信息,本身不具备认证能力。后续请求中,校验登录状态(通过 Filter 或 Interceptor 拦截并验证)。Payload(载荷):存储用户 ID、过期时间等非敏感信息(可被解码,不可存密码);Session 是服务器端用于保存用户登录状态的机制,基于会话识别用户。验证通过后,维持登录状态(通过 Session 或 JWT);

2025-08-14 17:00:18 300

原创 MyBatis基础

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。

2025-08-12 11:50:02 207

原创 JavaWeb前端基础

定位(Position):static(默认)、relative(相对自身)、absolute(相对最近非 static 父元素)、fixed(相对视口)、sticky(滚动时固定)。语义化标签:<header>(头部)、<nav>(导航)、<main>(主内容)、<article>(文章)、<footer>(底部)等(提升可读性和 SEO)。内容标签:<h1>-<h6>(标题)、<p>(段落)、<a href="url">(链接)、<img>(图片)、<ul>/<ol>/<li>(列表)。

2025-08-08 22:18:13 393

原创 JDBC相关

JDBC是 Java 语言操作数据库的标准 API,用于实现 Java 程序与关系型数据库的交互(已由SpringBoot整合)。

2025-08-07 23:16:14 208

原创 MySQL日志,主从复制,分库分表,读写分离

特点:物理日志(记录 “某数据页修改了什么”),写入速度快。从库:IO Thread(接收主库 binlog,写入本地 relay log)、SQL Thread(读取 relay log,执行 SQL 重现主库操作)。半同步复制:主库写入 binlog 后,需等待至少一个从库接收并确认(写入 relay log),再返回客户端,减少数据丢失风险,但会增加主库延迟。异步复制(默认):主库写入 binlog 后立即返回,不等待从库同步,可能导致主从数据不一致(主库崩溃时,未同步的 binlog 丢失)。

2025-08-06 22:45:00 495

原创 InnoDB中的锁和事务

当事务 A 再次读取数据时,InnoDB 根据读视图从 Undo 日志中获取数据版本,由于事务 B 的修改在事务 A 的读视图之后提交,所以事务 A 看不到事务 B 的修改,从而实现了可重复读。当事务 A 再次读取时,由于事务 B 已经提交,新生成的读视图中不再包含事务 B 的事务 ID,所以事务 A 能读取到最新的数据。查询时生成的可见性规则,含当前活跃事务 ID 等信息,通过对比行的 DB_TRX_ID 与 ReadView,判断该行版本是否对当前事务可见,实现不同隔离级别的读一致性。

2025-08-04 22:43:33 693

原创 InnoDB中的索引及优化

索引列参与计算或函数操作:WHERE YEAR(create_time) = 2025(改用create_time BETWEEN '2025-01-01' AND '2025-12-31')。InnoDB 中,主键索引的叶子节点存储完整数据行(聚簇索引)。性能分析:执行频次,慢查询日志,PROFILE,EXPLAIN。平衡多路查找树,所有数据存储在叶子节点,叶子节点形成有序链表。唯一标识表中记录,不允许NULL,一个表只能有一个主键索引。确保索引列的值唯一(允许NULL,但NULL可重复)。

2025-08-02 22:11:21 324

原创 简单Java的TCP编程案例

【代码】简单Java的TCP编程案例。

2025-07-31 21:59:06 182

原创 Java中的线程池

线程池是 Java 并发编程中非常重要的组件,它负责管理线程的创建、复用、调度和销毁,能够有效优化多线程程序的性能,避免频繁创建和销毁线程带来的开销。我对于线程的理解是,当加入一个新的线程时:若当前线程数 < 核心线程数:创建核心线程执行任务。若当前线程数 >= 核心线程数:将任务加入任务队列等待执行。若任务队列已满,且当前线程数 < 最大线程数:创建非核心线程执行任务。若任务队列已满,且当前线程数 >= 最大线程数:触发拒绝策略。

2025-07-30 17:24:25 208

原创 Java中的IO流

FileOutputStream:用于向文件中写入字节数据,比如把程序生成的字节数组写入到文件中。FileInputStream:用于从文件中读取字节数据,如读取一张图片文件的字节内容。FileReader:用于从文件中读取字符数据,比如读取一个文本文件中的文字内容。FileWriter:用于向文件中写入字符数据,比如把一段字符串写入到文本文件中。字节流:处理所有类型数据,直接操作字节,适合二进制文件或需精确控制字节的场景。

2025-07-29 10:16:04 327

原创 从C++中的STL容器到Java中的集合

STL:核心是 “容器(Containers)+ 算法(Algorithms)+ 迭代器(Iterators)”,容器分为序列式容器、关联式容器、容器适配器。Java 集合框架:核心是Collection和Map两大接口,Collection用于存储单值元素(类似 STL 的 “容器”),Map用于存储键值对(类似 STL 的map类容器),通过迭代器(Iterator)遍历元素。

2025-07-26 17:40:04 282

原创 Java中的面向对象特性

Java是一门面向对象的语言,通过封装、继承、多态三大核心特性,构建了一套完整的面向对象体系。Java中一切皆对象,将复杂问题拆解为一个个相互关联的对象,通过对象的交互实现功能。

2025-07-23 17:12:27 323

原创 郑州大学ACM实验室2025年3月天梯赛选拔赛暨招新赛题目回顾

选拔赛告一段落,写一篇补题博客分析一下自己在比赛技巧中的不足以及知识储备中的漏洞。自己的基础知识仍然有所欠缺(A题),不能只靠刷题找出问题,还应该关注书本内容;比赛开始时注意力不集中(C题,K题),明明是很简单的问题却还会写错;在一道题上花费太长时间(B题),而且对题目理解能力不足,应该暂时放弃,先完成对自己来说更加容易理解的题目(D题,G题)。那么接下来重新回顾一下比赛题目。对于笔者赛时未做出来的题目(F,G,H,J),就认为是比较困难的(对笔者这种菜鸟来说QAQ),会重新写一份代码提交;

2025-05-10 13:08:07 778

原创 2025天梯赛题目回顾

第一次参加天梯赛,151分大败而归(QAQ),反思一下,原因有以下几点:1.L1-6耗时太长,中途想要放弃又舍不得,就一直耗在这道题上,浪费了大量时间还没写出来;2.第一次打非ACM模式的比赛,经验不足,而且没想到好多题暴力可以骗到大部分分(L2-4)(L3-2),导致大部分题要么全对要么全错;3.没有模板,忘记了好多知识性内容,偏偏天梯赛基础题多,有思路但无从下手;4.比赛心态一般,状态不佳,容易写破防。归根结底其实还是个人实力不足。以下就我比赛时失误的部分题目进行总结。

2025-04-22 22:58:14 1206

原创 郑州大学ACM实验室2023年10月招新赛题目回顾

突然想起自己大一时参加的招新赛,限于当时水平不足,没法解决所有问题。故旧事重提,重新回顾一下当时的题目。个人向,代码部分不多,主要回顾思路。作为上半学期面向全校各年级专业的比赛,大部分题目还是比较简单的,适合当时笔者这样的小白练手。

2025-03-22 17:38:05 863

空空如也

空空如也

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

TA关注的人

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