自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于Gradle搭建Spring6.2.x版本源码阅读环境

阅读源码是程序猿成长的必经一环,正所谓。我们在开发成长道路上不仅需要知道如何使用,更要懂得其背后的原理,如此方可得心应手。本篇文章旨在指导大家搭建以上版本的源码阅读环境,方便大家在学习源码的过程中更好的附加注释,便于理解。

2024-11-24 17:42:36 790 1

原创 打造分布式缓存组件【场景】

自定义缓存标签组件

2024-08-07 22:15:39 479

原创 MongoDB基本操作之备份与恢复【验证有效】

mongodump与mongorestore

2024-04-08 23:28:04 502

原创 基础排序算法之堆排序

【代码】基础排序算法之堆排序。

2024-03-28 23:42:18 164

原创 RestTemplate之出水芙蓉

【代码】RestTemplate之出水芙蓉。

2024-03-28 22:28:18 412

原创 项目搭建之统一返回值

Getter/*** 操作失败**/RC999("999","操作XXX失败"),/*** 操作成功**//*** 服务降级**/RC201("201","服务开启降级保护,请稍后再试!"),/*** 热点参数限流**/RC202("202","热点参数限流,请稍后再试!"),/*** 系统规则不满足**/RC203("203","系统规则不满足要求,请稍后再试!"),/*** 授权规则不通过**/RC204("204","授权规则不通过,请稍后再试!"),

2024-03-27 22:04:51 441 1

原创 Swagger3探索之游龙入海

后端开发中常用的接口调用工具一般使用Postman、ApiPost工具,但后期需要与前端联调,要补充接口文档花费大量时间,此时Swagger3应运而生,大大提高沟通交流的效率。

2024-03-27 20:58:48 675

原创 微信小程序前端环境搭建

使用微信扫描二维码进行申请,申请成功之后,进入界面,获取小程序ID(AppID)和秘钥(AppSecret)

2023-11-23 22:25:19 279

原创 DES加解密

【代码】DES加解密。

2023-10-10 17:01:12 199

原创 nginx实现反向代理

Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器,特点是。Nginx可以作为静态页面的web服务器,同时还支持CGI协议的动态语言,比如perl、php等。但是不支持java。Java程序只能通过与tomcat配合完成。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常,能经受高负载的考验。

2023-07-16 15:53:56 420

原创 Ant理解事件循环

程序运行需要有它自己专属的,可以将此内存空间简单的理解为进程;每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要双方同意。

2023-04-07 00:37:03 237

原创 RabbitMQ之延迟队列

延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在被处理的元素的队列。

2023-04-02 10:44:24 567

原创 RabbitMQ之死信队列

死信队列的基本概念、来源和实际使用中如何应用的介绍

2023-03-16 23:02:48 238

原创 RabbitMQ之交换机

Fanout、Direct exchange、Topics

2023-02-28 22:12:37 199

原创 RabbitMQ之发布确认

发布确认原理、发布确认策略

2023-02-22 21:26:10 356

原创 RabbitMQ之Work Queues

轮训分发消息、消息应答、RabbitMQ持久化

2023-02-20 23:43:03 130

原创 RabbitMQ之初介绍

这两种方式都不是很优雅,使用消息总线,可以很方便解决这个问题A 调用B 服务后,只需要监听 B 处理完成的消息,当B 处理完成后,会发送一条消息给 MO,MO 会将此消息转发给A 服务。功能支持功能较为简单,主要支持简单的 MQ 功能,在大数据领域的实时计算以及。缺点: Kafka 单机超过 64 个队列/分区,Load 会发生明显的飙高现象,队列越多,load 越高,发送消息响应时间变长,使用短轮询方式,实时性取决于轮询间隔时间,消费失败不支持重试,支持消息顺序但是一台代理宕机后,就会产生消息乱序,

2023-02-14 00:16:09 186

原创 Java面试专题十之Linux

pidstat -d 采样间隔秒数 -p 进程号。

2023-01-13 22:06:41 410

原创 Java面试专题九之GC

GC算法()是内存回收的方法论,垃圾收集器就是算法落地的实现。四种主要垃圾收集器:垃圾回收的方式:Serial、Parallel、CMS、G1串行垃圾回收器(Serial):它为单线程环境设计且只使用一个线程进行垃圾回收,会暂停所有的用户线程。所以不适合服务器环境;并行垃圾回收器(Parallel):多个垃圾收集线程并行工作,此时用户线程是暂停的,适用于科学计算/大数据处理首台处理等弱交互场景;

2023-01-12 21:13:47 281

原创 Java面试专题八之OOM

GC回收时间过长时会抛出0utofMemroyError。过长的定义是,超过98%的时间用来做GC并且回收了不到2%的堆内存。连续多次GC 都只回收了不到2%的极端情况下才会抛出。假如不抛出 GC overhead limit 错误会发生什么情况呢?那就是GC清理的这么点内存很快会再次填满,追使GC再次执行,这样就形成恶性循环,一直是100%,而GC却没有任何成果。

2023-01-10 23:47:32 77

原创 Java面试专题七之Reference

当内存不足,JVM开始垃圾回收,对于强引用的对象,就算是出现了OOM也不会对该对象进行回收,死都不收。强引用是我们最常见的普通对象引用,只要还有强引用指向一个对象,就能表明对象还“活着”,垃圾收集器不会碰这种对象。在 Java中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,它处于可达状态,它是不可能被垃圾回收机制回收的,即使该对象以后永远都不会被用到JVM也不会回收。因此强引用是造成Java内存泄漏的主要原因之一。

2023-01-07 23:53:30 90

原创 Java面试专题六之JVM、GC

引用计数复制标记清除标记整理。

2023-01-05 22:58:14 81

原创 Java面试专题五

死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种瓦相等待的现象,若无外力干涉那它们都将无法推进下去,如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。Java 中的线程池是通过 Executor 框架实现的,该框架中用到了 Executor,Executors,ExecutorService,ThreadPoolExecutor这几个类。threadFactory:表示生成线程池中工作线程的线程工厂,用于创建线程的一般用默认的即可。

2022-12-21 15:30:12 85

原创 Java面试专题四

在多线程领域:所谓阻塞,在某些情况下会挂起线程(即阻塞),一旦条件满足,被挂起的线程又会自动。阻寨队列,顾名思义,首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如下图所示。试图从空的阻寒队列中获取元素的线程将会被阻寒,直到其他的线程往空的队列插入新的元素。当阻寨队列是空时,从队列中获取元素的操作将会被阻寨;:不存储元素的阻塞队列,也即单个元素的队列。

2022-12-19 00:32:48 79

原创 Java面试专题三

它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,宜到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活,线程进入屏障通过CyclicBarrier的await()方法。CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程会被阻塞。其它线程调用countDown方法会将计数器减1(调用countDown方法的线程不会阻塞)当计数器的值变为零时,因调用await方法被阻塞的线程会被唤醒,继续执行。的互斥使用,另一个用于。

2022-12-12 00:20:24 81

原创 Java面试专题二

公平锁,就是很公平,在并发环境中,每个线程在获取锁时会先查看此锁维护的等待队列,如果为空,或者当前线程是等待队列的第一个,就占有锁,否则就会加入到等待队列中,以后会按照FIFO的规则从队列中取到自己。指的是同一线程外层函数获得锁之后 ,内层递归函数仍然能获取该锁的代码,在同一个线程在外层方法获取锁的时候,在进入内层方法会自动获取锁。【非公平锁】指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。【公平锁】指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到;

2022-12-09 00:06:35 95

原创 Java面试专题一

volatile是Java虚拟机提供的Java内存模型(Java Memory Model)本身是一种抽象的概念,并不真实存在,描述的是一组规范或规则,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。JMM关于同步的规定:1、线程解锁前,必须把共享变量的值刷新回主内存2、线程加锁前,必须读取主内存的最新值到自己的工作内存3、加锁解锁是同一把锁。

2022-12-02 00:06:13 132

原创 Kafka集成Spark

集成Spark一、Scala环境准备二、Spark消费者1.添加配置文件Spark是一个在大数据开发中非常常用的组件。可以用于Kafka的生产者,也可用于Spark的消费者。一、Scala环境准备二、Spark消费者1.添加配置文件<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artif

2022-04-10 23:07:50 1394

原创 Kafka集成SpringBoot

集成SpringBoot一、SpringBoot生产者二、SpringBoot消费者SpringBoot是一个在JavaEE开发中非常常用的组件。可以用于Kafka的生产者,也可以用于SpringBoot的消费者。1)在IDEA中安装lombok插件,注意安装完后要重启;2)SpringBoot环境准备创建一个Spring Initializer<dependencies> <dependency> <groupId&gt

2022-04-06 22:47:21 2261

原创 Kafka集成Flink

集成Flink一、Flink环境准备二、Flink生产者1.在包名下创建java类:FlinkKafkaProducer三、Flink消费者Flink是一个在大数据开发中非常常用的组件。可以用于Kafka的生产者,亦可以用于Flink的消费者一、Flink环境准备创建一个maven项目flink-kafka添加配置文件<dependencies> <dependency> <groupId>org

2022-04-05 21:54:12 1829

原创 Kafka外部系统集成之集成Flume

文章目录集成Flume`提示:Flume是一个在大数据开发中非常常用的组件。可以用于Kafka的生产者,也可以用于Flume的消费者`1.1 、Flume1.2 Flume消费者集成Flume提示:Flume是一个在大数据开发中非常常用的组件。可以用于Kafka的生产者,也可以用于Flume的消费者1.1 、Flume准备工作:Flume安装部署:linux下修改环境变量步骤:sodo vim /etc/profile.d/my_env.sh配置Flume:可参考

2022-04-04 21:16:50 1245

原创 Kafka-Kraft模式

Kafka-Kraft模式一、Kafka-Kraft架构二、Kafka-Kraft集群部署三、Kafka-Kraft集群启动停止脚本![在这里插入图片描述](https://img-blog.csdnimg.cn/48f5349d700648bd9fd7037a8b3f83db.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAU21hcnRhb3Rhbw==,size_20,color_FFFFFF,t

2022-03-08 09:00:00 598

原创 Kafka-Eagle监控

Kafka-Eagle监控前言一、MySQL环境准备二、Kafka环境准备Kafka-Eagle安装前言Kafka-Eagle框架可以监控Kafka集群的整体运行情况,在生产环境中经常使用提示:官网-https://www.kafka-eagle.org一、MySQL环境准备二、Kafka环境准备Kafka-Eagle安装...

2022-03-07 21:48:32 2151

原创 Kafka消费者

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Kafka消费者Kafka消费方式Kafka消费者工作流程消费者总体工作流程消费者组原理消费者重要参数消费者API独立消费者案例(订阅主题)独立消费者案例(订阅分区)消费者组案例生产经验-分区的分配以及再平衡Range以及再平衡RoundRobin以及再平衡Sticky以及再平衡offset位移offset的默认维护位置自动提交offset手动提交offset指定时间消费漏消费和重复消费分析生产经验-消费者事务生产经验-数据积压(消费者如何

2022-03-05 09:19:12 2062

原创 Kafka Broker

文章目录Kafka BrokerKafka Broker工作流程Zookeeper存储的Kafka信息Kafka Broker总体工作流程Broker重要参数生产经验-节点服役和退役服役新节点退役旧节点Kafka副本副本基本信息Leader选举流程Leader和Follower故障处理细节分区副本分配生产经验-手动调整分区副本存储生产经验-Leader Partition负载平衡生产经验-增加副本因子文件存储文件存储机制文件清理机制高效读写数据一、pandas是什么?二、使用步骤1.引入库2.读入数据总结

2022-03-01 23:23:25 1819

原创 Kafka生产者

Kafka生产者文章目录Kafka生产者生产者消息发送流程发送原理发送流程异步发送API![在这里插入图片描述](https://img-blog.csdnimg.cn/5c1160558a424a5eac3263e993cff778.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAU21hcnRhb3Rhbw==,size_20,color_FFFFFF,t_70,g_se,x_16)一、panda

2022-02-25 23:51:48 751

原创 Kafka快速入门

Kafka快速入门前言一、安装部署1.1.1 集群规划1.1.2 集群部署配置环境变量二、Kafka命令行操作2.1 主题命令行操作2.2 生产者命令行操作2.3 消费者命令操作2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、安装部署1.1.1 集群规划hadoop102hadoop103hadoo

2022-02-22 23:20:36 874

原创 Kafka简介

Kafka定义前端埋点记录用户购买商品的行为数据(浏览、点赞、收藏、评论等)。1. Kafka传统定义Kafka是一个分布式的基于***发布/订阅***模式的消息队列(Message Queue),主要应用于大数据实时处理领域1.1 发布/订阅消息的发布者不会将消息直接发送给特定的订阅者,而是将 发布的消息分为不同的类别 ,订阅者只接收感兴趣的消息。2. Kafka最新定义Kafka是一个开源的分布式事件流平台,被数千家企业用于高性能数据管道、流分析、数据集成和关键任务应用。3 消息队列

2022-02-20 22:10:15 723

原创 Mybatis-Plus爬坑记录

ERROR: relation “my_product_entity” does not exist测试接口出现报错,经检查是注解使用错误!实体类名称原本是MyProduct,使用注解@Table(“name=my_product”),测试没有问题!代码规范修改时将类名改为“MyProductEntity”,注解没变,接口测试就报错原因分析,mybatis-plus默认解析类名当作表名了,将MyProductEntity解析成"my_product_entity"解决办法:使用注解@TableNa

2021-07-29 20:04:04 298

原创 RestTemplate

RestTemplate提供了多种便捷访问远程Http服务的方法,是一种简单便捷的访问restful服务模板类,是Spring提供的用于访问Rest服务的客户端模板工具集。官网地址http://docs.spring.io/spring-framework/docs/5.2.2.RELEASE/javadoc-api/org/springframework/web/client/RestTemplate.html使用restTemplate访问restful接口非常简单粗暴无脑。(url, reque

2020-08-30 22:26:56 205

空空如也

空空如也

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

TA关注的人

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