自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hello77的blogggg 祝你得偿所愿

让每一步都留下痕迹

  • 博客(115)
  • 收藏
  • 关注

原创 RuoYi基础学习

前后端搭建、系统功能、系统监控、系统工具、代码生成

2025-03-29 21:28:06 1039

原创 Java知识整理round1

集合、JUC、JVM、MySQL、Redis、SSM、设计模式

2025-03-26 16:08:21 1089

原创 Java 列表复制与对象引用

在 Java 中,当使用 List<School> 这样的集合存储对象时,实际上存储的是对象的引用,而不是对象本身。也就是说,集合中的元素指向了堆内存中实际的对象实例。

2025-03-25 23:21:11 836

原创 找树左下角的值

使用广度优先搜索遍历每一层的节点。在遍历一个节点时,需要先把它的非空右子节点放入队列,然后再把它的非空左子节点放入队列,这样才能保证从右到左遍历每一层的节点。广度优先搜索所遍历的最后一个节点的值就是最底层最左边节点的值。层序遍历 我们需要在每一层的第一个节点处记录值。假设二叉树中至少有一个节点。

2025-03-15 15:15:47 129

原创 最大三角形面积(鞋带公式)

给你一个由平面上的点组成的数组points,其中。从其中取任意三个不同的点组成三角形,返回能组成的最大三角形的面积。与真实值误差在10的-5次方内的答案将会视为正确答案。

2025-03-15 13:52:29 124

原创 设计模式-工厂模式、策略模式、代理模式、责任链模式

工厂模式:通过将对象的创建过程封装起来,工厂模式让代码更加灵活,避免了直接依赖具体类,适合需要频繁创建对象的场景。策略模式:将算法或行为封装为独立的策略类,使得它们可以互相替换,增强了代码的可扩展性和可维护性。代理模式:通过引入代理对象,在不改变原始类的情况下,为其添加额外功能,如权限控制、日志记录等。责任链模式:将请求的发送者和处理者解耦,让多个对象有机会处理请求,适合处理复杂的业务流程。

2025-03-15 09:55:40 899

原创 MySQL索引篇

索引是 MySQL 性能优化的核心技术之一。索引结构:重点解析 B+Tree 的特性(数据集中于叶子节点、链表支持范围查询),对比 Hash、R-tree 等索引类型的适用场景。分类与语法:涵盖主键索引、联合索引、前缀索引等常见类型,提供创建、查看、删除索引的 SQL 示例。性能优化:通过 EXPLAIN 分析执行计划,结合慢查询日志定位问题 SQL,总结索引失效场景(如运算、头部模糊查询)。

2025-03-08 15:29:56 793 2

原创 BitMap实现用户签到、UV统计

在 Redis 中,BitMap 并非一种独立的数据结构,而是基于 String 类型数据结构实现的一种存储方式。由于 String 类型的最大上限是 512M,换算成 bit 位就是 2^32 个,这决定了 BitMap 可操作的最大范围。BitMap 非常适合用于处理大量的布尔值,能以极小的空间存储大量的标志位信息,常用于签到统计、活跃用户统计等场景。

2025-03-05 09:57:36 364

原创 用GEO实现附近商铺搜索

geo实现搜索附近商户功能

2025-03-04 21:18:13 160

原创 Redis实现好友关注、共同关注、Feed流推送

本文围绕社交平台的关注与博客相关功能展开。实现了关注与取关、查看是否关注、查看共同关注等基础功能,借助 Redis 的 Set 数据结构存储关注信息,提高操作效率。在关注推送方面,采用 Timeline 模式,具体选用推拉结合,在保存博客时将其推送给粉丝收件箱,使用 Redis 的 ZSet 按时间戳排序。还实现了收件箱的分页查询,避免传统分页消息重读问题,通过解析 Redis 查询结果获取博客 ID,再从数据库查询博客详情,补充相关信息后封装返回,保障用户获取关注博主博客的流畅体验。

2025-03-03 20:30:21 757

原创 blog点赞功能的实现

使用 Set 数据结构实现一人只能点赞一次、使用 SortedSet 数据结构实现点赞排行榜、实现先点赞的排在前面的需求

2025-03-03 19:25:21 612

原创 Redis消息队列实现异步秒杀

Redis Stream 是一种专门为消息队列设计的数据类型,它支持消息可回溯、多消费者消费、消息确认机制等特性。通过使用 Redis Stream 构建消息队列,我们能够将部分业务逻辑进行异步处理。当用户发起请求时,系统迅速将请求信息放入消息队列,无需等待后续处理完成即可返回响应,大大提高了系统的响应速度。同时,多个消费者可以并行从消息队列中获取任务进行处理,有效提升了系统的吞吐量,确保系统在高并发场景下仍能稳定运行。

2025-02-16 20:53:25 670

原创 Redis——优惠券秒杀问题(分布式id、一人多单超卖、乐悲锁、CAS、分布式锁、Redisson)

在高并发业务场景中,如优惠券秒杀,涉及多种技术的运用。首先是全局唯一 ID 生成,利用 Redis 实现自定义分布式 ID 生成器。单体系统下,为解决一人多单和超卖问题,采用悲观锁和乐观锁(如 CAS 法),并使用 synchronized 锁保证一人一单。但集群环境下,synchronized 失效,需引入分布式锁。先基于 Redis 实现简单分布式锁,后经优化解决超时释放和原子性问题。不过手写分布式锁有诸多不足,最终引入 Redisson 框架,它解决了可重入、可重试、超时续约和主从一致性等难题。

2025-02-14 22:47:00 1605 5

原创 elasticsearch

Elasticsearch是一个强大的搜索引擎,支持全文搜索和复杂查询。它使用DSL(Domain Specific Language)来定义查询,分为叶子查询和复合查询。叶子查询直接在字段中查找值,复合查询组合多个查询。Elasticsearch默认返回前10条结果,支持分页和排序。高亮显示功能可以突出搜索结果中的关键词。

2025-02-12 01:39:43 852

原创 利用Redis实现数据缓存

缓存是提高应用性能的关键技术,能够减少数据库的负载,提高数据访问速度。本文包括如何保证缓存与数据库的一致性、解决缓存穿透、雪崩与击穿问题,并介绍了相应的技术方案与工具封装。通过合理的缓存策略(如双写、超时剔除、布隆过滤等)和优化措施,可以有效保障系统的稳定性与高效性。

2025-01-25 23:10:41 1480 1

原创 基于Redis实现短信验证码登录

基于 Redis 的登录流程通过将会话数据存储到 Redis 中,替代了传统基于 Session 的存储方式,能够支持分布式系统,提供更高的性能和可靠性,同时简化了多服务器之间的会话共享。

2025-01-21 22:36:49 2146 4

原创 RabbitMQ-消息可靠性以及延迟消息

在分布式系统中,消息可靠性和消息延迟是确保系统正常运行的重要因素。消息可靠性指的是保证消息能够准确地从发送方传递到接收方,避免消息丢失或重复处理。RabbitMQ通过持久化消息、消息确认和死信队列等机制来确保消息的可靠传递。消息延迟则是指让某些消息在发送后等待一段时间再被处理,例如订单超时检查。RabbitMQ可以通过设置消息的过期时间或使用专门的延迟消息插件来实现延迟处理。虽然这些机制可以解决实际问题,但也可能影响系统性能,因此需要在可靠性和性能之间找到平衡。

2025-01-19 00:05:28 1717

原创 RabbitMQ

RabbitMQ是一个流行的消息队列工具,它帮助不同的系统或服务之间传递信息。可以把它理解为一个邮局,生产者就像寄信的人,消费者是收信的人,而RabbitMQ就是存放和转发消息的邮局。通过使用RabbitMQ,系统中的不同部分可以异步地进行通信,也就是说,一个服务发送消息后,不需要等对方处理完再继续工作。这样可以提高系统的效率和可靠性,避免因为某个服务的问题影响整个系统运行。它广泛应用于处理大量任务、提高系统响应速度和减轻服务压力等场景。

2025-01-17 23:24:36 753

原创 微服务保护和分布式事务

微服务保护主要是通过像 Sentinel 这样的工具,帮助我们控制流量,防止服务被过多请求压垮,同时实现熔断、降级等机制保证系统的稳定。而分布式事务,像 Seata 提供的 XA 和 AT 模式,帮助我们在多个服务之间保持数据的一致性,确保即使在服务调用失败时,数据也能保持一致。

2025-01-16 19:35:21 786

原创 SpringBoot

SpringBoot 的优点在于简化了 Spring 的配置和开发流程,它提供了自动配置(减少繁琐配置)、起步依赖(简化依赖管理)、内置服务器(无需额外配置 Tomcat 等)、易于集成和快速开发,对比传统 Spring 程序,SpringBoot 更加开箱即用,大幅提升了开发效率和便捷性。

2025-01-07 19:14:33 1039

原创 SSM-SpringMVC-结果封装、异常、拦截器

结果封装、异常、拦截器

2025-01-06 18:42:37 601 1

原创 微服务-网关、配置热更新、动态路由

网关、网关登录校验、配置管理、配置热更新、动态路由

2025-01-06 16:08:11 1121

原创 SSM-SpringMVC-请求响应、REST、JSON

SpringMVC 是基于 Servlet 的高级框架,它通过前端控制器 DispatcherServlet 接管所有 HTTP 请求,然后自动把请求转发到相应的 Controller。你只需要专注写业务逻辑,而不用去操心怎么解析请求、怎么返回响应。SpringMVC 会帮你自动完成这些工作,比如自动绑定请求参数,处理视图渲染等。

2025-01-04 19:16:24 1297 1

原创 小程序添加购物车业务逻辑

1 判断当前加入购物车中的的商品是否已经存在了2如果已经存在 只需要将数量加一3 如果不存在 插入一条购物车数据4 判断加到本次购物车的是菜品还是套餐

2025-01-03 19:35:17 411

原创 用Redis缓存数据、SpringCache

在使用 Redis 作为缓存时,可以通过 Spring Cache 提供的注解方式快速集成。首先,在 Spring Boot 项目中配置 Redis 作为缓存管理器,通过 @Cacheable 注解将方法的返回结果缓存到 Redis 中,例如:@Cacheable(value = "cacheName", key = "#id"),当方法被调用时,Spring 会先从 Redis 中查询对应的缓存数据,若未命中缓存,则执行方法并将结果存入 Redis,从而提高查询性能并减少对数据库的访问压力。同时,还可以使

2025-01-03 18:02:28 453

原创 SSM-Spring-AOP

AOP是在不改原有代码的前提下对其进行增强。

2025-01-02 20:39:22 803

原创 SSM-Spring-IOC/DI注解开发

SSM框架中的Spring IOC和DI注解开发通过注解方式实现了对象的管理和依赖注入,减少了类之间的耦合。常用的注解如@Component、@Autowired、@Service等,帮助开发者自动配置和注入所需的Bean,简化了配置,提高了开发效率,并增强了系统的可扩展性和可维护性。

2025-01-02 14:35:38 876

原创 SSM-Spring-IOC/DI对应的配置开发

Spring指的是Spring Framework,Spring Framework是Spring生态圈中最基础的项目,是其他项目的根基。Spring核心概念部分中主要包含IOC/DI、IOC容器和Bean

2024-12-31 21:00:09 806 1

原创 小程序开发-微信登录

了解小程序目录结构、微信登录流程

2024-12-31 08:57:55 747

原创 HttpClient

HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

2024-12-30 20:28:05 269

原创 今天做了两道Hash+比较器的题

Hash+比较器

2024-12-29 13:35:47 316

原创 微服务-1 认识微服务

认识微服务、服务拆分原则、服务注册与发现、OpenFeign、连接池

2024-12-28 16:28:39 1229

原创 上传文件到阿里云OSS

上传文件到阿里云OSS

2024-12-23 20:59:23 232

原创 MD5明文加密

MD5加密全程是Message-Digest Algoorithm 5(信息-摘要算法),它对信息进行摘要采集,再通过一定的位运算,最终获取加密后的MD5字符串。

2024-12-22 20:14:58 263

原创 ThreadLocal

ThreadLocal 是 Java 提供的一个工具,用来在多线程环境下保存每个线程自己的“私有数据”。它可以让不同线程保存和使用自己的变量副本,不会互相干扰。

2024-12-22 20:01:10 372

原创 公共字段自动填充(自定义注解、AOP)

公共字段自动填充的最大好处在于:降低开发成本、提升数据一致性、减少出错率。它让开发者能够专注于业务逻辑,同时保证了数据字段的准确性和完整性,是一个提升生产力的强大工具,尤其适用于需要频繁维护公共字段的场景。

2024-12-22 19:43:05 202

原创 徒步旅行中的补给问题

字节青训-2

2024-12-22 13:26:13 297

原创 Docker

一种能够避免部署对服务器环境的依赖,减少复杂的部署流程的技术。

2024-12-11 23:35:38 1243 1

原创 Apache Echarts和POI

Apache ECharts 是一个基于 JavaScript 的开源图表库,旨在为 Web 应用提供交互性强、视觉效果丰富的图表展示功能。它支持多种图表类型,如折线图、柱状图、饼图、散点图、地图等,并提供了灵活的配置选项。ECharts 强调数据可视化的交互性,用户可以通过鼠标悬停、点击等操作与图表进行交互。它的使用非常简单,并且支持与其他 Web 框架(如 React、Vue)集成。Apache POI 是一个用于操作 Microsoft Office 格式文件(如 Excel、Word 和 Pow

2024-12-09 14:00:43 673

原创 Mybatis-Plus

MyBatis-Plus 是一个 MyBatis 的增强工具包,简化了 MyBatis 的操作,提供了自动生成 SQL、条件构造器、分页查询、逻辑删除、代码生成等功能。它减少了繁琐的 SQL 编写,提升了开发效率,同时还支持自定义 SQL 和性能分析,是 MyBatis 开发的有力补充。

2024-12-08 16:11:42 955

空空如也

空空如也

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

TA关注的人

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