自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 @KafkaListener的作用

org.springframework.kafka.annotation.KafkaListener 是 Spring Kafka 库中的一个注解,它用于在 Spring 应用程序中定义 Kafka 消息监听器。这个注解允许你将方法映射为 Kafka 消息的消费者,从而简化了 Kafka 消费者配置和消息处理的代码。

2024-10-08 05:45:52 125

原创 @KafkaListener注解中containerFactory属性的作用

在使用Spring Kafka时,containerFactory 属性是 @KafkaListener 注解中的一个选项,它允许你指定一个 ContainerFactory Bean 的名称。这个 ContainerFactory 负责创建和管理 Kafka 消息监听容器。

2024-10-07 09:58:39 298

原创 Redis缓存击穿、缓存穿透和缓存雪崩的区别

缓存击穿、缓存穿透和缓存雪崩是三种常见的缓存问题,它们对基于缓存的系统的性能和可用性有显著影响。

2024-10-06 13:04:37 348

原创 MySQL的ON DUPLICATE KEY UPDATE和REPLACE INTO

和是 MySQL 数据库中用于处理重复键值的两种不同方式。如果存在与要插入的记录具有相同唯一键或主键的记录,则会将新值更新到指定的列中。如果存在具有相同唯一键或主键的记录,则将删除该记录并插入新记录。因此,主要区别在于将执行更新操作,而将删除并插入新记录。选择使用哪个取决于您的需求和业务逻辑。如果您希望保留现有记录的其他值并只更新特定列,可以使用。如果您要完全替换重复键的记录,包括其他列的值,可以使用。

2024-10-05 09:39:27 503

原创 FastGitHub使用方法

在FastGithub.UI.exe所在位置输入cmd命令。

2024-10-04 08:46:10 74

原创 MeterSphere压测配置说明

这些参数共同决定了MeterSphere如何执行性能测试,以及如何模拟用户行为和网络流量。正确配置这些参数对于获得准确和有效的性能测试结果至关重要。更多详细信息和使用指南,可以参考MeterSphere的官方文档。在MeterSphere中,执行性能测试时的配置参数对测试结果有重要影响。

2024-10-03 09:26:38 312

原创 如何使用Redisson的布隆过滤器?

【代码】如何使用Redisson的布隆过滤器?

2024-10-02 05:39:15 464

原创 JMeter中线程组、HTTP请求的常见参数解释

在JMeter中,线程组和HTTP请求是进行性能测试的两个核心组件。

2024-10-01 08:56:18 376

原创 MyBatis-Plus如何分页查询?

MyBatis-Plus提供了一种简单而强大的分页查询功能,可以通过使用Page对象和Mapper接口中的方法来实现。

2024-09-29 06:12:30 550

原创 如何全局修改Git的邮箱、用户名?

要修改 Git 的全局配置,包括邮箱和账户名,您可以使用 git config 命令。

2024-09-19 07:04:28 450

原创 Spring MVC设置请求头和响应头的Header

如果你在控制器中使用发起请求,可以在请求头中动态设置值。

2024-09-18 21:23:26 666

原创 @Value能用在静态属性上吗?

在Spring框架中,@Value 注解通常用于注入外部配置值到非静态字段中。由于 @Value 注解依赖于Spring的依赖注入(DI)容器,它在初始化bean时解析值并将它们注入到相应的字段。由于静态字段不属于Spring容器管理的bean的生命周期的一部分,因此你不能直接将 @Value 注解用于静态字段。

2024-09-16 09:23:49 306

原创 @RequiredArgsConstructor是按类型注入还是按名称注入

@RequiredArgsConstructor 是 Lombok 库提供的一个注解,它用于自动生成构造函数,这个构造函数会包含类中所有被标记为 final 的字段以及带有 @NonNull 注解的字段。这个注解的目的是简化代码,避免重复编写构造函数。

2024-09-14 06:26:29 139

原创 @JSONField(name=xx)、@JsonProperty(value=xx)和@SerializedName的使用

@JSONField(name=xx)作用作用在get方法上,在序列化的时候(把对象转换为JSON串的时候),可以重新命名成指定的JSON数据的key名称;作用在set方法上,在反序列化的时候(解析JSON转为对象的时候),可以把数据绑定到对应的JAVA实体类属性上;作用在字段上,会在序列化和反序列的时候,把数据都绑定到对应的字段上。注意如果是使用JSON工具,上面的作用只能使用下面对应的方法;get:com.alibaba.fastjson.JSON#toJSONString(jav

2024-09-13 08:32:59 462

原创 IDEA快捷键

【代码】IDEA快捷键。

2024-09-12 07:15:44 348

原创 Kafka如何实现失败重试?

生产者:通过配置重试参数和异步发送回调来实现失败重试。消费者:通过手动提交偏移量和使用Spring Kafka的错误处理机制来实现失败重试。幂等性:确保生产者和消费者处理消息的逻辑是幂等的,以避免重复处理消息导致的问题。死信队列:对于无法处理的消息,发送到死信队列进行监控和分析。通过上述方法,可以优雅地实现Kafka中消息发送和消费的失败重试,提高系统的健壮性和可靠性。

2024-09-10 06:31:10 475

原创 @FeignClient属性说明

用于指定服务的名称。

2024-09-09 21:43:11 908

原创 多条Kafka消息的key重复会怎样?

在org.apache.kafka.clients.producer.internals.DefaultPartitioner#partition方法中的注释【keyBytes serialized key to partition on (or null if no key)】可以看到,会通过key进行hash然后确定分区。在Kafka中,如果消息的key为null,那么Kafka会使用一个内置的分区策略来决定将这条消息发送到哪个分区。综上所述,是否发送具有相同key的消息取决于你的具体需求。

2024-09-08 17:44:44 817

原创 如何对List排序

【代码】如何对List排序。

2024-09-06 22:35:15 168

原创 John Z.Sonmez:十步学习法

John Z. Sonmez 的 "十步学习法" 是一种高效学习方法,旨在帮助个人快速掌握新技能或知识。

2024-09-04 08:30:41 207

原创 MyBatis的@MapKey的使用

在MyBatis中,@MapKey注解用于指定返回结果集是一个Map的集合时,映射结果集中的某列或字段作为Map的键(key)。

2024-08-29 08:43:08 201

原创 拆分List的方法

方法引用地址:com.google.common.collect.Lists#partition。

2024-08-27 06:52:40 1033

原创 AQS算法简介

定义同步状态:确定同步器的同步状态表示什么。实现模板方法:根据同步器的类型(独占或共享),实现tryAcquiretryRelease和等方法。管理同步队列:使用AQS提供的和release方法来管理等待队列。实现查询方法:如有必要,实现getStatesetState等查询同步状态的方法。构建同步器:创建一个类实现同步器的逻辑,并使用AQS的方法来管理同步状态。

2024-08-23 20:58:53 368

原创 Spring Boot集成Kafka(含多数据源)

在项目的pom.xml文件中添加 Spring Kafka 的依赖。</</</

2024-08-22 22:26:16 857

原创 IntelliJ IDEA插件推荐

【代码】IntelliJ IDEA插件推荐。

2024-08-19 21:37:03 672

原创 常用JVM相关参数说明

调优相关:

2024-08-19 20:57:38 339

原创 拆分List的方法

【代码】拆分List的方法。

2023-09-15 18:45:02 165

原创 Java集合框架UML图

建议:在IntelliJ IDEA中打开【.uml】格式的源文件,方便修改或显示更详细、更清晰的内容。温馨提示:可找我免费获取【.uml】格式的源文件。

2023-09-04 22:28:14 105

原创 【张建飞:《程序员的底层思维》】看书笔记

本书涵盖程序员应知应会的16种思维能力,共18章,分为三部分。第一部分主要介绍抽象思维、逻辑思维、结构化思维、批判性思维、维度思维、分类思维、分治思维、简单思维,以及成长型思维等解决日常问题的基础思维能力。第二部分结合软件行业的特点,主要介绍解耦思维、契约思维、模型思维、工具化思维、量化思维、数据思维,以及产品思维等专业思维能力。第三部分主要是对上述思维能力的综合运用实践。

2023-08-31 09:40:43 210

原创 根据一个或多个属性对List去重

*** 按某个指定字段去重* @param keyExtractor - 需要去重的字段* @return <T> Predicate<T> - 谓词* @author 付聪*/super T,?

2023-08-20 21:30:10 974

原创 如果不在返回对象中新增属性,如何在MyBatis中返回数据。

map的value定义成Object是因为返回的既有数字也有字符串,方便做兼容。

2023-08-20 18:13:28 156

原创 Stream流的使用

相同点用绿色字体标记,不同点用红色字体标记。在IDEA中打开UML文件,然后将排序改为【按字母顺序排序】,这样可以方便看到不同流之间的共同点,对比学习更容易把知识点记得牢固一些。将文件的“.png”删掉即可恢复成源文件Stream.uml.pngStream.drawio.pnghttps://doc.qzxdp.cn/jdk/17/zh/api/java.base/java/util/stream/BaseStream.html串行流stream:串行解决数据,不产生异步线程。并行流parallel

2023-08-13 10:46:36 75

原创 高性能地从数据库随机取一条数据

【代码】高性能地从数据库随机取一条数据。

2023-08-05 14:41:04 103

原创 代理模式的分类和使用

对其他对象提供一种代理,以控制对这个对象的访问。

2023-08-05 14:32:31 66

原创 内部类的分类和作用

匿名内部类,就是没有名字的嵌套类。它是局部内部类一种特殊形式,也就是没有变量名指向这个类的实例,而且具体的类实现会写在这个类里面。匿名内部类可以使你的代码更加简洁,你可以在定义一个类的同时对其进行实例化。如果某个局部类你只需要用一次,那么你就可以使用匿名内部类@Override// TODO:@Override// TODO:有时候,使用内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类有外围类对象的一个引用。为此,可以将内部类声明为static,这样就不会生成那个引用。

2023-07-30 13:39:21 53

空空如也

空空如也

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

TA关注的人

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