- 博客(32)
- 收藏
- 关注
原创 【保姆级教程】SpringBoot+Vue 项目 Docker Compose 一站式部署(含避坑指南)
本文详细介绍了SpringBoot+Vue前后端分离项目的Docker Compose部署全流程,包含:1) CentOS7环境准备与Docker安装配置;2) Nginx反向代理设置与前端静态资源部署;3) SpringBoot后端JAR包打包与镜像构建;4) 使用Docker Compose统一编排MySQL、Redis、RabbitMQ、后端和前端服务。文中特别针对Java版本兼容、表名大小写敏感、接口转发失败等常见问题提供了解决方案,并配置了阿里云镜像加速器提升部署效率,适合开发者直接套用实现快速部
2025-11-28 09:06:29
777
原创 《算法实战笔记:滑动窗口、KMP、并查集等 5 类经典算法解析》
本文介绍了四种常见算法:滑动窗口、KMP、并查集和堆排序。滑动窗口通过维护单调队列实现O(1)获取窗口极值;KMP利用前缀函数优化字符串匹配;并查集通过路径压缩高效处理集合合并查询;堆排序则基于完全二叉树特性实现高效排序。每种算法都配有核心代码实现,展现了算法设计的精妙之处和实际应用场景。这些算法通过巧妙的思路降低了时间复杂度,是解决特定问题的有效工具。
2025-09-29 08:46:56
1052
原创 Java面试必考:GC、多态与反射全解析
Java面试中,垃圾回收(GC)、多态性和反射机制是三大核心考察点。GC问题主要围绕内存管理原理、回收算法和调优策略展开,重点考察可达性分析、分代回收机制以及性能优化手段。多态性问题聚焦运行时动态绑定原理,要求深入理解方法重写、向上转型及JVM方法表机制。反射机制则重点考察动态获取类信息的能力、性能优化方法和实际应用场景,强调在框架开发中的关键作用。这三类问题均遵循从基础概念到底层原理,再到工程实践的考察逻辑,回答时需结合具体场景展示对知识点的深入理解和实际应用经验。
2025-09-01 15:40:06
1106
原创 情况:后端涉及到异步操作,数据还没更新完就直接向前端返回success的结果。
【后端异步操作数据一致性解决方案】针对异步操作导致的数据不一致问题,本文介绍了5种同步机制:1)CountDownLatch计数器锁,适用于简单多线程同步;2)CompletableFuture支持链式异步操作;3)回调机制处理异步结果;4)消息队列+数据库状态实现分布式最终一致性;5)WebFlux响应式编程。建议根据场景选择:简单用CountDownLatch,复杂流程用CompletableFuture,分布式系统用消息队列,高并发考虑WebFlux,所有方案需设置超时和异常处理。
2025-07-23 11:22:14
338
原创 阿里云OSS文件上传完整实现方案
本文介绍了在SpringBoot项目中集成阿里云OSS实现文件上传的完整方案。首先需要获取OSS配置信息,包括endpoint、access-key等。通过添加Maven依赖和配置application.yml进行项目集成,核心实现包括属性配置类、OSS工具类(包含文件上传方法)、配置类以及文件上传接口。方案使用UUID生成唯一文件名,妥善处理异常,并确保资源释放。前端通过调用/common/upload接口上传文件,返回文件访问URL。
2025-06-25 16:25:25
719
原创 一文讲懂redis如何存储用户登录信息(包括验证码以及token)
在分布式服务器环境中,使用Redis作为Session的替代方案可以有效解决多台Tomcat服务器之间Session不共享的问题。
2025-05-15 19:08:33
1456
原创 SpringDataRedis的入门案例,以及RedisTemplate序列化实现
入门案例展示了如何通过Spring Boot快速集成Redis,并使用RedisTemplate进行基本操作。然而,默认的JDK序列化方式会导致数据在Redis中以不可读的长串形式存储。为解决此问题,提出了两种序列化方案:一是自定义RedisTemplate,使用GenericJackson2JsonRedisSerializer进行序列化;二是使用StringRedisTemplate,手动将对象序列化为JSON字符串。这两种方案都能提高数据的可读性和存储效率,但方案二更适合于对内存使用有严格要求的场景。
2025-05-12 22:23:28
1107
原创 SpringBoot中JWT详解,底层原理及生成验证实例。
JWT (JSON Web Token) 是一种开放标准 (RFC 7519),用于在各方之间安全地传输信息作为 JSON 对象。它通常用于身份验证和信息交换。
2025-05-06 16:05:06
1679
原创 SpringSecurity配合Thymeleaf实现详解,以及实战用例
Spring Security是一个强大的认证和授权框架,用于保护基于Spring的应用程序。它提供了全面的安全功能,包括认证、授权、攻击防护等,能够有效地帮助开发者构建安全的Web应用程序。Spring Security和Thymeleaf结合使用,可以轻松地在Web应用中实现认证和授权功能。通过Spring Security的标签(如)和Thymeleaf的模板引擎,可以在页面中实现动态的权限控制、用户认证等操作,增强了Web应用的安全性。
2025-05-06 14:09:28
940
原创 SpringBoot后端实现小程序微信登录
微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程。SpringBoot作为后端框架,可以与小程序前端配合完成完整的登录流程。小程序端调用wx.login()小程序前端调用此API获取临时登录凭证code示例代码:wx.login({// 发送code到后端})SpringBoot后端处理登录接收小程序传来的code向微信接口服务发起请求验证code获取用户唯一标识openid和会话密钥session_key。
2025-05-04 14:10:59
2526
原创 Apache POI实现Excel的基本写入、导出操作
SpringBoot项目中,通过Apache POI实现Excel表格的写入、导出操作,入门案例实现。
2025-05-03 23:47:39
708
原创 WebSocket简介及入门案例实现
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它允许服务端主动向客户端推送数据。WebSocket 协议在 2011 年由 IETF 标准化为 RFC 6455,现已被所有现代浏览器支持。WebSocket 为需要低延迟、高频率通信的 Web 应用提供了理想的解决方案,而 HTTP 仍然适用于传统的请求-响应式交互。1.建立websocket.html页面,作为客户端。:避免了 HTTP 的请求-响应模式带来的延迟。:建立连接后保持打开状态,直到显式关闭。5.测试用定时任务类。
2025-05-03 16:35:27
984
原创 SpringBoot+Vue实现批量导入功能
基于SpringBoot后端和Vue前端的Excel批量导入用户数据功能,主要实现了:1. 前端上传Excel文件2. 后端解析Excel并批量导入用户数据到数据库3. 包含数据校验和默认值设置
2025-04-12 22:17:38
466
原创 SpringBoot + Vue 用户列表导出功能
基于SpringBoot后端和Vue前端的用户列表导出功能,可以将用户数据导出为Excel文件。
2025-04-11 20:51:32
744
原创 蓝桥杯JavaB组,买二赠一
现在该商场正在进行“买二赠一”的优惠活动,具体规则是:每购买2件商品,假设其中较便宜的价格是 P(如果两件商品价格一样,则 P等于其中一件商品的价格),就可以从剩余商品中任选一件价格不超过P/2的商品,免费获得这一件商品。思路:排序后,从大到小依次遍历,买两个贵的,想办法白嫖一个。如果白嫖找不到合适的,说明不可能白嫖了(因为是从大到小买的,因此此时p/2肯定是相对最大的,若都没有商品符合价格区间,则一定找不到)如果优先从最贵的商品赠送,那么需要买50、50赠25,买25,买23,买12,总共花费160。
2025-04-10 20:50:06
347
原创 前端Vue中img标签的用法(Vue2示例)
在 Vue 中,<img> 标签的用法与原生 HTML 类似,但结合了 Vue 的特性(如数据绑定、动态路径等),下面是img标签的几种用法和解析。
2025-04-09 20:03:43
1847
原创 SpringBoot中基础注解说明
启动Spring Boot应用的核心注解(组合注解)。:启用声明式事务管理。@Bean:显式定义Bean,适用于无法用@Component扫描的场景。这些注解共同构成了Spring Boot的“约定优于配置”理念,极大简化了开发流程。
2025-04-08 16:35:34
743
原创 Linux-UOS系统中安装Nginx,并对网络进行设置
4、修改虚拟机地址为静态地址192.168.0.110,子网掩码为255.255.255.0,网关为192.168.0.2,修改后查看网络连接信息。4.进入配置并修改静态地址、网关等。5.重启网络服务,查看网络连接信息。2.使用dnf安装Nginx。3. 重启并查看Nginx的监听情况。3、查看Nginx的监听情况。2、在虚拟机安装Nginx。
2025-04-07 16:42:24
297
原创 计算机网络配置Cisco网络(部分内容)
计网配置Cisco网络配置多个路由器连接,ping通其中的pc机设置默认路由&静态路由两台交换机,设置中继链路实现通讯(实现两台交换机上的pc机可以ping通)
2024-06-05 20:16:08
1806
原创 输入正整数n,在1到n的所有整数中,对只要包括0、1、3、9中任何一个数字的整数求和并输出。
【代码】输入正整数n,在1到n的所有整数中,对只要包括0、1、3、9中任何一个数字的整数求和并输出。
2023-10-15 14:32:34
168
原创 大花猫是捕鼠能手,每天要抓到不少老鼠。但它在吃老鼠以前,先要叫老鼠列队报数。第一批吃掉报单数的;剩下的老鼠重新报数。
第二批,花猫仍吃掉报单数的;最后剩下的一只老鼠可以被保留,与第二天抓来的老鼠一起重新排队报数。后来,发生了一件极其有趣的事情。大花猫发现,一连好几天,最后被留下的总是一只机灵的小白鼠。每天排队前我都先数一数你抓到了多少只老鼠,然后,我站在一个相应的位置,就可以留下来了。大花猫就问小白鼠:"你想了什么办法,能每天都留下呢。"小白鼠说:"尊敬的大花猫先生,核心思想就是找2最大的那个的n次方 只有这样才能满足 最大次数的存活。编程实现:输入每天排队的老鼠的只数,输出小白鼠站的位置。
2023-10-15 14:30:19
228
原创 一个n位超级素数是指一个n位正整数,它的前1位,前2位, . . . , 前n位均为素数。
例如,7331是个4位超级素数,因为7,73,733,7331均为素数。编写程序由键盘输入n (n<5), 然后输出全部的n位超级素数。
2023-10-15 14:28:20
270
原创 科学家新设计了一个机器人,这台机器人很聪明,会做许多事情。唯独对自然数的理解与人类不一样,它是从右往左读数。比如,它看到123时,会理解成321。让它比较23与15哪一个大,它说15大。
输入说明:两个正整数A B表示待排序元素的区间范围. (1<=A<=B<=200000 B-A<=50)给定机器人两个自然数A和B,让它将 [A,B] 区间中的所有数按从小到大排序出来。你会认为它如何排序?输出说明:输出一行,为所有排好序的元素,元素之后有一个空格.
2023-10-15 14:26:11
189
原创 位数乘积是n的b进制数的各位数的乘积。如:,(注:A~E分别依次对应1~6)输入n和b,按上述要求输出对应的乘积。
【代码】位数乘积是n的b进制数的各位数的乘积。如:,(注:A~E分别依次对应1~6)输入n和b,按上述要求输出对应的乘积。
2023-10-15 14:22:17
83
原创 头歌:第1关:练习-Java类和对象之对象数组
本关任务:将键盘输入的三个学生的信息存入 Student 对象中,最后将这些学生信息按右侧预期输出格式打印输出。
2023-10-15 14:05:07
2334
原创 Java小明喜欢质数,从键盘上输入一个正整数n(n≥2),判断该整数是否可以分解成m个互不相同的质数之和,分解表达式中m个质数递增排序,且任何两个质数间,不可能再存在其他质数.
int d=0;i
2023-10-14 15:58:10
201
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅