自定义博客皮肤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)
  • 收藏
  • 关注

原创 Spring Task 定时任务

Spring Task 是 Spring 框架中用于定时任务调度的工具,它基于注解驱动,简单易用,适合大多数场景。基于注解的定时任务:通过@Scheduled注解配置定时任务的执行规则。基于配置的定时任务:通过实现接口,自定义线程池等高级配置。Spring Task 的核心在于其灵活性和轻量化,适合中小型项目中的定时任务需求。Spring Task 是一个轻量级的定时任务工具,适合中小型项目中的定时任务需求。通过@Scheduled注解和线程池配置,可以灵活地实现各种定时任务。

2025-04-03 16:53:03 614

原创 Elasticsearch-实战案例

数据库模糊查询不走索引,在数据量较大的时候,查询性能很差。需要注意的是,数据库模糊查询随着表数据量的增多,查询性能的下降会非常明显,而搜索引擎的性能则不会随着数据增多而下降太多。目前仅10万不到的数据量差距就如此明显,如果数据量达到百万、千万、甚至上亿级别,这个性能差距会非常夸张。其次,功能单一数据库的模糊搜索功能单一,匹配条件非常苛刻,必须恰好包含用户搜索的关键字。而在搜索引擎中,用户输入出现个别错字,或者用拼音搜索、同义词搜索都能正确匹配到数据。

2025-03-27 19:14:51 894

原创 ThreadLocal:多线程时代的神器

ThreadLocal是Java多线程编程中的一个强大工具,它通过为每个线程提供独立的变量副本,解决了线程安全问题。在使用ThreadLocal时,我们需要注意内存泄漏和线程复用等问题,合理地使用它可以让我们的代码更加简洁和高效。希望这篇博客能够帮助你更好地理解和使用ThreadLocal,如果你有任何问题或建议,欢迎在评论区留言!

2025-03-24 14:32:46 775

原创 Java Spring 中循环依赖的解决之道

Spring 通过三级缓存机制有效地解决了循环依赖问题,但这并不意味着我们可以在代码中随意创建循环依赖。在实际开发中,应尽量避免循环依赖,以保持代码的简洁性和可维护性。如果无法避免循环依赖,可以利用 Spring 提供的机制来解决,但也要注意合理使用,避免引入新的问题。希望本文能帮助你更好地理解和解决 Java Spring 中的循环依赖问题。如果你在实际开发中遇到了循环依赖的问题,欢迎在评论区留言,我们一起探讨解决方案。

2025-03-18 17:44:18 926

原创 使用Redis如何实现分布式锁?(超卖)

在多线程环境下,为了保证数据的线程安全,锁保证同一时刻,只有一个可以访问和更新共享数据。在单机系统我们可以使用锁、锁保证线程安全。锁是 Java 提供的一种内置锁,在单个 JVM 进程中提供线程之间的锁定机制,控制多线程并发。只适用于单机环境下的并发控制。想要在多个节点中提供锁定,在分布式系统并发控制共享资源,确保同一时刻只有一个访问可以调用,避免多个调用者竞争调用和数据不一致问题,保证数据的一致性,就需要分布式锁。:控制分布式系统不同进程访问共享资源的一种锁的机制。

2025-03-14 18:25:31 705

原创 RabbitMQ五种消息模型

简单模式是最基础的消息传递模型,包含一个生产者、一个队列和一个消费者。生产者将消息发送到队列,消费者从队列中接收消息。这种模式适用于一对一的通信场景。工作模式用于在多个消费者之间分配任务。一个生产者将消息发送到队列,多个消费者可以并发地从队列中获取任务并处理。这种模式可以实现任务的负载均衡。一条消息只能被一个消费者处理。

2025-03-13 17:05:39 1313

原创 excel的导入和下载(poi)

Apache POI官网GitHub示例代码通过使用相关的Java库,如,可以轻松地实现Excel文件的读写操作。

2025-03-11 18:25:57 561

原创 消息队列MQ(RabbitMQ)

在现代软件架构中,消息队列(Message Queue,简称MQ)是一种非常重要的中间件,广泛应用于分布式系统、微服务架构以及异步通信场景中。消息队列通过允许应用程序之间通过消息进行通信,从而实现解耦、提高系统的可扩展性和可靠性。本文将介绍消息队列的基本概念、常见实现方式,并通过一个简单的Java示例来展示如何使用消息队列。消息Broker,目前常见的实现方案就是消息队列(MessageQueue),简称为MQ.追求可用性:Kafka、 RocketMQ 、RabbitMQ。

2025-03-09 17:05:40 1161

原创 SpringCloud常见的问题

基本可用(Basically Available)、软状态(Soft State)、最终一致性(Eventual Consistency),强调高可用而非强一致性。:分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tolerance)三者不可兼得。:服务启动时向注册中心(如 Nacos)注册自身信息(IP、端口、服务名)。:优先调用同集群实例,减少跨网络调用延迟,提升容灾能力(如异地多活)。:声明式的 HTTP 客户端,简化服务间调用。

2025-03-06 15:55:28 733

原创 微服务保护:Sentinel

(Jar包):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。这些方案或多或少都会导致服务的体验上略有下降,比如请求限流,降低了并发上限;服务熔断,降低了服务的完整度,部分服务变的不可用或弱可用。当一个业务接口响应时间长,而且并发高时,就可能耗尽服务器的线程资源,导致服务内的其它接口受到影响。线程隔离虽然避免了雪崩问题,但故障服务依然会拖慢(服务调用方)的接口响应速度。当然,接口的并发不是一直很高,而是突发的。

2025-03-05 20:11:37 1185

原创 Elasticsearch:Java开发者必备全文搜索技能(一)

本文从零开始讲解Elasticsearch的核心概念,结合Java API实现索引创建、文档CRUD、复杂查询等操作,并附赠SpringBoot整合实战案例。建议收藏!

2025-03-03 17:24:56 819 1

原创 Spring Cloud Gateway:构建高效微服务网关的利器

Component@Override// 验证Token合法性(伪代码)if (!

2025-02-12 15:57:07 551

原创 Java中的依赖注入(可以不使用@Autowired注解)

Resource和@Autowired都是用于依赖注入的注解,但它们有一些细微的差别。在纯 Spring 项目中,推荐使用@Autowired,因为它与 Spring 框架的集成更加紧密。在需要与 Java EE 项目集成的场景中,可以使用@Resource。

2025-01-26 19:52:44 986

原创 Consul持久化配置报错1067---consul_start

Consul持久化配置报错1067---consul_start

2025-01-23 11:15:07 452

原创 org.springframework.web.client.ResourceAccessException: I/O error on GET request for “http://cloud-p

报错因为微服务不知道是哪个模块,所以需要再配置里面加上注解:加上就不会报错了。

2025-01-22 14:40:09 1007

原创 Consul

consul下载使用

2025-01-22 14:35:39 714

原创 图片头像上传(阿里云OSS)

图片上传

2025-01-20 14:59:00 602

原创 省市区三级联动(后端)

省市区三级联动(后端)

2025-01-09 12:01:40 802

原创 Swagger2和3

【代码】Swagger2和3。

2025-01-03 16:09:19 233

原创 Sa-Token(一个轻量级 Java 权限认证框架)

sa-taken基本使用

2024-12-29 17:53:08 370

原创 Spring Cloud 2024 最新组件学习推荐

2024-12-29 15:46:53 228

原创 Java面试基础:序列化和反序列化

序列化是将对象的状态信息转换为可以存储或传输的形式的过程

2024-12-22 19:57:32 302

原创 Page对象、PageVO、封装VO

Page封装返回结果VO

2024-12-22 16:50:46 291

原创 @Validation数据校验

所有参数注解含义 总结来说, 主要用于字符串长度的验证,而 更为通用,可以用于验证字符串长度以及集合和数组的大小。在使用时,根据需要验证的数据类型选择合适的注解。注:若不做异常处理,@Validated注解默认异常消息,所以需要添加一个全局异常处理类对MethodArgumentNotValidException进行处理 和 是两个常用的参数校验注解,它们的作用如下:

2024-12-18 09:56:41 1268

原创 Git 本地仓库操作与远程仓库操作

注意:由于工作区中文件状态的不同,执行 git status 命令后的输 出也会不同。

2024-12-11 10:38:37 1245

原创 git更改当前文件的远程仓库地址

git更改地址

2024-12-10 21:55:27 317

原创 Spring Security 认证

- 1.mybatis-plus整合SpringBoot的依赖--> < dependency > < groupId > com.baomidou < artifactId > mybatis-plus-boot-starter < version > 3.4.1

2024-12-09 09:31:37 1365

原创 @RequestBody获取不到数据

结果是:获取不到数据,UserLoginDTO为null。可以看到数据成功获取。

2024-12-03 19:04:41 374

原创 SpringBoot(v2.5.3)整合SpringSecurity

定义UserDetailsService是SpringSecurity提供用来获取认证用户信息(用户名,密码,用户的权限列表)的接口,我们可以实现该接口,复写loadUserByUsername(username)方法加载我们数据库中的用户信息。UserDetails是SpringSecurity用来封装用户认证信息,权限信息的对象,我们使用它的实现类User封装用户信息并返回,我们这里从数据库查询用户名。创建类UserDetailServiceImpl实现UserDetailsService接口/**

2024-12-03 18:34:47 811

原创 JWT(Json-Web-Token)、JWT工具类

官网地址: https://jwt.io/introduction/翻译: jsonwebtoken(JWT)是一个开放标准(rfc7519),它定义了一种紧凑的、自包含的方式,用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信任,因为它是数字签名的。jwt可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名JWT简称JSON Web Token,也就是通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。

2024-12-02 09:15:03 1392

原创 虚拟机Centos 7 部署项目

centos7部署项目

2024-11-29 19:58:48 1159

省市区三级联动(后端)sql

省市区三级联动(后端)sql

2025-01-03

空空如也

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

TA关注的人

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