嘉禾嘉宁papa
码龄8年
求更新 关注
提问 私信
  • 博客:1,256,630
    社区:233
    1,256,863
    总访问量
  • 176
    原创
  • 641
    粉丝
  • 10
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2018-01-10
博客简介:

嘉禾嘉宁papa

博客描述:
CSDN的一股清流,来了就不会让你空手而归。
查看详细资料
个人成就
  • 获得1,454次点赞
  • 内容获得109次评论
  • 获得3,223次收藏
  • 代码片获得33,667次分享
  • 博客总排名1,946,269名
创作历程
  • 38篇
    2024年
  • 22篇
    2023年
  • 62篇
    2022年
  • 54篇
    2021年
成就勋章
TA的专栏
  • Java基础实战
    18篇
  • Spring Boot
    16篇
  • MySQL数据库
    11篇
  • Redis笔记
    18篇
  • MyBatis笔记
    4篇
  • RabbitMQ笔记
    4篇
  • RocketMQ笔记
    10篇
  • Spring Cloud
    19篇
  • 设计模式
    24篇
  • Java常用算法
    13篇
  • Spring Boot 源码
    13篇
  • ShardingJDBC
    8篇
  • 运维测试
    8篇
  • Java常用工具类
    8篇
  • 前端
    2篇
  • 数据结构

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 2

TA参与的活动 0

兴趣领域 设置
  • Java
    spring bootspring cloud
  • 大数据
    mysqlredis
  • 前端
    typescriptvue.jsreact.jsnpm
  • 后端
    spring架构
  • 运维
    容器jenkinskubernetes系统架构
  • 服务器
    linux
创作活动更多

「谁说嵌入式只是调包和焊板子?」—— 2026嵌入式全栈技术征锋令

谁说嵌入式只会“Ctrl+C 调包”和“拿电烙铁焊板子”?2026嵌入式全栈技术征锋令正式启幕! 本次活动专为硬核硬件/软件开发者打造,无论你是刚玩转裸机外设的萌新,还是精通RTOS调度、死磕底层驱动的行业老手,亦或是执掌系统架构的大神,这里都是你证明实力的舞台! 拒绝表面功夫,每一行代码,都有撬动硬件的力量!晒出你的硬核工程实战,为嵌入式开发者的全栈硬实力正名!

211人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

NVM的安装与配置

NVM,全称为Node Version Manager,是一个流行的命令行工具,用于在同一台计算机上安装和管理多个版本的Node.js。Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它允许开发者在服务器端运行JavaScript代码,从而构建更为动态和交互性强的Web应用程序。NVM通过提供一种简单的方法来切换不同版本的Node.js,极大地简化了Node.js开发环境的管理。
原创
博文更新于 2024.04.14 ·
1845 阅读 ·
11 点赞 ·
0 评论 ·
17 收藏

RocketMQ笔记(十)SpringBoot整合RocketMQ多事务消息

在之前的文章中,我讲过了发送事务消息,好像是通过就完成了普通消息和事务消息的发送,有小伙伴就会问,如果一个系统可能不止一个事务,都会进入到同一个监听啊,有什么办法处理么?也就是多事务发送消息。自己在发生消息的时候在头部添加区分业务的属性,然后在监听器取出来,然后做不同的业务每个事务都配置单独的事务监听器(本文的方式)
原创
博文更新于 2024.04.14 ·
1533 阅读 ·
11 点赞 ·
0 评论 ·
32 收藏

RocketMQ笔记(九)SpringBoot整合RocketMQ消息过滤

过滤的含义指的是将符合条件的消息投递给消费者,而不是将匹配到的消息过滤掉。Apache RocketMQ 的消息过滤功能通过生产者和消费者对消息的属性、标签进行定义,并在 Apache RocketMQ 服务端根据过滤条件进行筛选匹配,将符合条件的消息投递给消费者进行消费。
原创
博文更新于 2024.04.14 ·
1660 阅读 ·
27 点赞 ·
0 评论 ·
27 收藏

RocketMQ笔记(八)SpringBoot整合RocketMQ广播消费消息

在之前的文章中,我们讲过了,同步发送单条消息,异步发送单条消息,发送单向消息,发送顺序消息,批量发送消息,事务消息,我们使用的模式都是集群消费模式(Cluster),本文就来讲另外一种消息消费模式,也就是广播消费模式(Broadcast)
原创
博文更新于 2024.04.07 ·
3723 阅读 ·
11 点赞 ·
0 评论 ·
18 收藏

RocketMQ笔记(七)SpringBoot整合RocketMQ发送事务消息

在之前的文章中,我讲过了,同步发送单条消息,异步发送单条消息,发送单向消息,发送顺序消息,以及批量发送消息,延迟消息。今天说下发送事务消息。事务消息交互流程如下图所示。生产者将消息发送至Apache RocketMQ服务端Apache RocketMQ服务端将消息持久化成功之后,向生产者返回Ack确认消息已经发送成功,此时消息被标记为"暂不能投递",这种状态下的消息即为半事务消息生产者开始执行本地事务逻辑生产者根据本地事务执行结果向服务端提交二次确认结果(Commit或是Rollback。
原创
博文更新于 2024.04.07 ·
3961 阅读 ·
38 点赞 ·
3 评论 ·
44 收藏

RocketMQ笔记(六)SpringBoot整合RocketMQ发送延迟消息

在之前的文章中,我讲过了,同步发送单条消息,异步发送单条消息,发送单向消息,发送顺序消息,以及批量发送消息,今天我们讲讲延迟消息。延迟消息发送是指消息发送到Apache RocketMQ后,并不期望立马投递这条消息,而是延迟一定时间后才投递到Consumer进行消费。在分布式定时调度触发、任务超时处理等场景,需要实现精准、可靠的延时事件触发。使用 RocketMQ 的延时消息可以简化定时调度任务的开发逻辑,实现高性能、可扩展、高可靠的定时触发能力。
原创
博文更新于 2024.04.07 ·
3447 阅读 ·
14 点赞 ·
0 评论 ·
22 收藏

RocketMQ笔记(五)SpringBoot整合RocketMQ批量发送消息

在之前的文章中,我讲过了,同步发送单条消息,异步发送单条消息,发送单向消息,发送顺序消息,今天我们讲讲如何批量发送消息,主要还是使用方法的syncSend方法。
原创
博文更新于 2024.03.31 ·
2764 阅读 ·
28 点赞 ·
0 评论 ·
14 收藏

RocketMQ笔记(四)SpringBoot整合RocketMQ发送顺序消息

RocketMQ提供了一种发送顺序消息的方法,顺序消息是指消息发送和消费的顺序是有序的,即消息按照特定的顺序发送到 Broker,然后按照相同的顺序消费。这个方法就是的。
原创
博文更新于 2024.03.31 ·
3294 阅读 ·
11 点赞 ·
0 评论 ·
38 收藏

RocketMQ笔记(三)SpringBoot整合RocketMQ发送单向消息

RocketMQ提供了一种单向发送消息的方法,在这种模式下,生产者只负责尽快地发送消息,而不需要关心消息是否被Broker接收,也不会收到任何消息发送结果的响应。这个方法就是的sendOneWay。
原创
博文更新于 2024.03.31 ·
1413 阅读 ·
10 点赞 ·
0 评论 ·
6 收藏

RocketMQ笔记(二)SpringBoot整合RocketMQ发送异步消息

SpringBoot整合RocketMQ发送异步消息
原创
博文更新于 2024.03.24 ·
2751 阅读 ·
26 点赞 ·
0 评论 ·
20 收藏

RocketMQ笔记(一)SpringBoot整合RocketMQ发送同步消息

SpringBoot整合RocketMQ发送同步消息
原创
博文更新于 2024.03.24 ·
1466 阅读 ·
22 点赞 ·
1 评论 ·
21 收藏

Java开发环境JDK8和JDK17灵活切换

Java开发环境JDK8和JDK17灵活切换
原创
博文更新于 2024.03.24 ·
2806 阅读 ·
20 点赞 ·
0 评论 ·
22 收藏

Flex布局常见属性图解

Flex属性详解
原创
博文更新于 2024.03.01 ·
8222 阅读 ·
28 点赞 ·
0 评论 ·
37 收藏

设计模式(行为型模式)空对象模式

空对象模式(Null Object Pattern)是一种行为设计模式,它用于处理对象缺失的情况,以减少对空(null)引用的使用和处理。该模式的目标是在对象不可用或缺失时提供一个替代对象,以避免在代码中频繁检查空引用,并降低因空引用而导致的错误。空对象模式基本思想是定义一个抽象类或接口,并提供一个实现该抽象的空对象,其中包含默认的无效或不执行任何操作的方法。这样,当需要对象时,如果实际对象不存在,系统将返回一个空对象,而不是返回空引用。减少空引用检查。
原创
博文更新于 2024.03.01 ·
1051 阅读 ·
11 点赞 ·
0 评论 ·
5 收藏

设计模式(行为型模式)解释器模式

解释器模式(Interpreter Pattern)是一种行为设计模式,用于解释特定语言或处理特定问题领域的语法或表达式。它定义了一种语言的语法表示,并使用该表示来解释语言中的句子。通常用于构建解析器、编译器和规则评估引擎等场景。抽象表达式(Abstract Expression):定义解释器的接口,通常包含一个 interpret() 方法,用于解释语法或表达式。终结符表达式(Terminal Expression):实现抽象表达式接口,在语言中的最小单元上进行解释操作。
原创
博文更新于 2024.02.19 ·
1456 阅读 ·
24 点赞 ·
0 评论 ·
15 收藏

设计模式(行为型模式)访问者模式

访问者模式(Visitor Pattern)是一种行为设计模式,它允许在不改变被访问对象的类的情况下定义新的操作。该模式的核心思想是将数据结构和对数据的操作分离开来,使得可以在不修改数据结构的前提下定义新的操作。它允许定义在数据结构上进行的操作,并且可以在数据结构上方便地增加新的操作,而无需修改原有的代码。访问者(Visitor): 定义了对数据结构中各元素的访问操作接口或抽象类。每个具体的访问者类都实现了对应的访问操作。具体访问者(Concrete Visitor)
原创
博文更新于 2024.02.19 ·
859 阅读 ·
5 点赞 ·
0 评论 ·
16 收藏

设计模式(行为型模式)模板方法模式

模板方法模式又称模板模式(Template Pattern)是一种行为设计模式,它定义了一个算法的框架,并允许子类重写特定步骤的方法,而不改变算法的整体结构。在模板模式中,定义了一个抽象类,该抽象类包含了算法的框架,其中的某些步骤由抽象方法或默认实现提供。具体步骤的实现延迟到子类中。这样,子类可以根据需要重写父类的方法,同时保留算法的整体结构。模板(Abstract Template): 定义了算法的框架,通常是一个抽象类,其中包含了算法中的各个步骤,有些步骤可能是抽象的或有默认实现。
原创
博文更新于 2024.02.19 ·
1246 阅读 ·
7 点赞 ·
0 评论 ·
9 收藏

设计模式(行为型模式)状态模式

状态模式(State Pattern)是一种行为设计模式,它允许对象在其内部状态发生改变时改变其行为。该模式主要用于根据对象的内部状态使其行为不同。在状态模式中,对象的行为会根据内部状态的变化而变化。环境(Context):环境类持有一个状态对象,并在状态对象之间进行切换。它会委托给当前状态对象处理请求。抽象状态(State):定义了一个接口或抽象类,用于封装特定状态下的行为。所有具体状态类都必须实现这个抽象状态,以便在环境对象中切换状态。具体状态(Concrete State)
原创
博文更新于 2024.02.08 ·
1007 阅读 ·
8 点赞 ·
0 评论 ·
10 收藏

设计模式(行为型模式)策略模式

策略模式(Strategy Pattern)是一种行为设计模式,它允许定义一系列算法,将每个算法封装到独立的类中,并使它们可以相互替换。这使得算法可以独立于使用它们的客户端进行变化。在策略模式中,算法被视为一个策略。这些策略被封装到各自的类中,并通过接口或抽象类暴露统一的方法,使得这些策略可以相互替换。然后,客户端可以根据需要选择使用的策略。这种模式使得算法可以独立于其使用者变化。它使得代码更加灵活、可扩展,并且更易于维护,因为新的算法可以在不修改现有客户端代码的情况下添加。
原创
博文更新于 2024.02.08 ·
812 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

设计模式(行为型模式)观察者模式

观察者模式(Observer Pattern)是一种行为设计模式,它定义了一种一对多的依赖关系,当一个对象的状态发生变化时,其所有依赖者(观察者)都会自动收到通知并进行更新。主题(Subject): 也称为被观察者或可观察对象,维护了一组观察者对象,并提供了添加、删除和通知观察者的方法。观察者(Observer): 也称为订阅者,定义了一个更新接口或抽象类,用于接收主题的通知并进行相应的处理。
原创
博文更新于 2024.02.07 ·
1694 阅读 ·
20 点赞 ·
0 评论 ·
16 收藏
加载更多