自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

EvanDeveloper的专栏

一个努力用代码改变世界的码农

  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

翻译 集合操作之CollectionUtils工具类

apache的CollectionUtils工具类

2024-01-31 16:09:37 176

转载 SpringBoot集成RocketMQ实现各种消息类型

使用RocketMQ有两种方式,一种是引入rocketmq-client需要自己创建生产者和消费者,相对来说比较繁琐;另一种是引入rocketmq-spring-boot-starter(对rocketmq-client进行了封装),发消息和消费消息都比较简洁。这里采用的集成方式是。

2023-05-30 18:15:00 1830 1

转载 Springboot+RocketMQ(7):实现事务消息

分布式事务通俗来说,一次操作由若干分支组成,这些分支操作分属于不同的应用,分布在不同的服务器上,分布式事务需要保证这些操作,分支事务与普通事务一样,就是为了保证操作结果的一致性。

2023-05-30 17:07:15 1867

转载 Springboot+RocketMQ(6):实现消息过滤

1.Tag过滤说明:消息发送时可以指定该消息的Tag号,消息存储到CommitLog后会异步转发构建ConsumeQueue,ConsumeQueue条目中包含消息Tag的hashcode值,消费者消费消息会从broker拉取消息,拉取时指定消息必须带有目标Tag值,那么遍历ConsumeQueue条目时会判断条目中Tag的hashcode值是否等于目标Tag的hashcode值,如果相等,说明可能是消费者感兴趣的消息。

2023-05-29 18:05:28 573

转载 Springboot+RocketMQ(5):实现批量消息

1.批量发送消息:批量发送消息能显著提高传递小消息的性能。限制是这些批量消息应该有相同的 topic,相同的 waitStoreMsgOK,而且不能是延时消息。此外,这一批消息的总大小不应超过 4MB。2.批量接收消息:批量接收消息能提高传递小消息的性能,同时与顺序消息配合的情况下,还能根据业务主键对顺序消息进行去重(是否可去重,需要业务来决定),减少消费者对消息的处理3.批量消息使用场景。

2023-05-29 17:50:47 1919

转载 Springboot+RocketMQ(4):实现延时消息

对于消息中间件来说,producer 将消息发送到mq的服务器上,但并不希望这条消息马上被消费,而是推迟到当前时间节点之后的某个时间点,再将消息投递到 queue 中让 consumer 进行消费。,例如定时 5s, 10s, 1m 等。其中,level=0 级表示不延时,level=1 表示 1 级延时,level=2 表示 2 级延时,以此类推。类上要加上@RocketMQMessageListener注解,指定topic主题test-topic-delay,以及消费者组test-delay。

2023-05-29 17:25:02 1617

转载 Springboot+RocketMQ(3):实现广播消息

RocketMQ消息模式主要有两种:广播模式、集群模式(负载均衡模式)是每个消费者,都会消费消息;是每一个消费只会被某一个消费者消费一次;我们业务上一般用的是负载均衡模式,当然一些特殊场景需要用到广播模式,比如;我们可以通过@的属性值来设置,是广播模式,是默认集群负载均衡模式;下面来介绍下 springboot+rockermq 整合实现 广播消息。

2023-05-29 17:16:18 2133

转载 Springboot+RocketMQ(2):实现顺序消息的发送与消费

默认发送的消息是进入多个消息队列,然后消费端多线程并发消费,所以默认情况,不是順序消费消息的;有時候,我们需要顺序消费一批消息,比如电商系统 订单创建、支付、完成操作,需要順序执行;RocketMQTemplate给我们提供了SendOrderly方法(有多個重载),来实现发送顺序消息;,发送同步顺序消息;,发送异步顺序消息;,发送单向顺序消息;一般我们用syncSendOrderly方法发送同步顺序消息。参数一:topic 如果想添加tag,可以使用"topic:tag"的写法。

2023-05-29 17:05:06 1478

转载 Springboot+RocketMQ(1):实现简单的消息发送与接收

在这里插入图片描述](https://img-blog.csdnimg.cn/52631e687c594000a8659318b2cd5d71.pn。类上要加上**@RocketMQMessageListener**注解,指定topic主题test-topic,以及消费者组test。SpringBoot给我们提供了RocketMQTemplate模板类,我们利用这个类可以以多种形式发送消息。普通消息的发送方式有3种:单向发送、同步发送和异步发送。发送方法指定Topic主题test-topic。

2023-05-29 16:33:37 833

原创 JRebel 和 XRebel 激活

JRebel 和 XRebel 激活

2022-08-12 10:21:09 5055

转载 Jrebel+Xrebel激活

Jrebel+Xrebel激活

2022-08-12 09:39:49 1277

翻译 Tomcat系列——Tomcat运行模式连接数和线程池

Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine(也就是Servlet容器)来处理这个请求,并把产生的Request和Response对象传给Engine。当Engine处理完请求后,也会通过Connector将响应返回给客户端。根据协议的不同,Connector可以分为HTTP Connector、AJP Connector等,本文只讨论HTTP Connector。一、三种运行模式Nio、Bio、APR1、Conn

2021-12-02 16:35:42 322

原创 ElasticSearch集群搭建

ES集群搭建(ES-7.12.0)Linux系统参数配置# 文件句柄vi /etc/security/limits.conf* soft nofile 65536* hard nofile 65536* soft nproc 2048* hard nproc 4096# 我选择锁住swapping因此需要在这个配置文件下再增加两行代码* soft memlock unlimited* hard memlock unlimited # 虚拟内存设置sysctl -w vm.max_m

2021-09-06 15:22:42 423

原创 Zookeeper集群搭建

zookeeper集群搭建前提条件至少三台服务器,并且是奇数安装好JDK并配置好环境变量官网下载#解压tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz新建data和log存放日志创建一个dataDir(需要在conf配置中指定位置)目录用于存放数据新建myid#在dataDir目录下创建一个myid文件用于记录该zookeeper在集群中的id(保证唯一就行)#在其他服务器一次执行同样的步骤,比如A服务器myid指定为1,B服务器myid指

2021-09-06 15:21:33 264

原创 Skywalking集群搭建

JDK安装及配置环境变量老生常谈,这个就去问下度娘吧ES集群安装详情见博客ES集群安装:ZK集群安装详情见博客ZK集群安装:Skywalking-oap集群安装官网下载安装包 apache-skywalking-apm-es7-8.5.0.tar.gztar -zxvf apache-skywalking-apm-es7-8.5.0.tar.gz -C /data/install/path修改config/application.yml配置修改注册中心配置# 修改 selector

2021-09-06 15:20:02 2431

原创 XSS攻击过滤器实现

一、XSS简介百度百科的解释: XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制,获取用户的一些信息。二、XSS分类xss攻击可以分成两种类型:非持久型攻击持久型攻

2021-07-12 17:51:22 1587

原创 SkyWalking 后端服务存储配置

SkyWalking 后端服务存储配置版本:7.0.0描述采集的数据需要存储,提供给相关人员查看系统调用链路信息,因此需要配置存储项。一般在本地尝鲜可以使用默认的h2数据库。可以很快的部署SkyWalking服务,体验相关功能。开发环境可以使用MySQL数据库。测试和生产环境建议使用elasticsearch。配置在application.yml里面,配置storage模块。具体配置项如下:selector:存储选择器elasticsearch:elasticsearch6.X以下配

2021-06-16 11:19:28 1665

原创 Spring框架中的afterPropertiesSet方法

一、简单介绍1、init-method方法,初始化bean的时候执行,可以针对某个具体的bean进行配置。init-method需要在applicationContext.xml配置文档中bean的定义里头写明。例如:这样,当TestBean在初始化的时候会执行TestBean中定义的init方法。2、afterPropertiesSet方法,初始化bean的时候执行,可以针对某个具体的bean进行配置。afterPropertiesSet 必须实现 InitializingBean接口。实现 Ini

2021-03-18 13:52:30 10113

转载 Spring框架中bean的生命周期

本文来探讨一下Spring框架中的Bean的生命周期:        1、实例化 当我们的程序加载beans.xml文件的时候发生,把我们的bean(前提是scope = singleton)实例化到内存中        2、设置属性 调用set方法设置属性        3、如果实现了Bean

2021-03-18 13:51:34 124

原创 Java Thread之start和run方法的区别

start用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法,这里方法run()称为线程体,它包含了要执行的这个线程的内容,run方法运行结束,此线程随即终止。start方法源码示例一个 Java 线程的创建本质上就对应了一个本地线程(native thread)的创建,两者是一一对应的。

2020-08-05 17:49:03 242

原创 客户端Navicat12连接MySQL时报错caching-sha2-password

在上一章节安装按Navicat12后就直接连接MySQL测试是否可以使用了,但是遇到了一个问题:这是因为MySQL从8.0.11版本开始选择了密码加密,之后用客户端连接比如navicate,会提示客户端连接caching-sha2-password,是由于客户端不支持这种插件,可以通过commad client 客户端进行修改: #修改加密规则 ALTER USER 'r...

2019-05-24 15:55:34 1690

原创 Navicat12_Premium_cs_x64使用注册机完美破解教程

以管理员运行注册机打开注册机后,1) Patch勾选Backup、Host和Navicat v12,然后点击Patch按钮:找到Navicat Premium 12安装路径下的navicat.exe,选中并点击打开:此时出现如下弹窗,提示navicat.exe - x64 -> Cracked.,提示已破解(别高兴,还没结束):License, Product and Lan...

2019-05-24 14:52:55 9517

原创 各大论坛资源汇总

各大论坛资源合集汇总http://www.erji.net/ 聊耳机的论坛http://www.cdbest.com/ 聊刻录机,刻录光盘http://forum.ubuntu.org.cn/ 应该是国内最大的ubuntu论坛了吧http://bbs.go2eu.com/ 穷游网,撸瑟的国际旅游,我最近很感兴趣http://www.ditiezu.com/index.php 地铁...

2019-05-24 10:52:14 21416

原创 Eclipse在导入项目的时候报错Can't find dependent libraries no svnjavahl-1 in java.library.path

本eclipse版本为4.7.3,在导入项目的时候报错,报错信息如下:Failed to load JavaHL Library.These are the errors that were encountered:no msvcp100 in java.library.pathD:\Software\Work\eclipse\configuration\org.eclipse.osgi\...

2019-05-22 15:54:41 1357

原创 MySQL入门介绍和安装

MySQL入门和学习使用什么是MySQLMySQL安装Hello,大家好,我是Evan,以前记录学习笔记都是在Evernote上,考虑到不能达到共享的目的,从今天开始周期性的写技术博客,希望自己能够坚持下去并且帮助到大家,一起成长进步。由于工作原因需要用到MySQL,因此再系统性的回顾一下。之前学习MySQL是2014年,当时最新的版本是5.5,现在已经发展到8.0版本了,可见技术迭代速度之快,...

2019-05-07 17:36:42 318

翻译 splice的使用方法

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。 语法如下:arrayObject.splice(index,howmany,item1,…..,itemX) 1 各项参数如下: index:必需项且为整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。index从0开始,0表示第一个位置。 howmany:必需项。要删...

2018-04-26 10:29:18 560

原创 EL表达式

EL表达式 1、语法结构 ${expression}2、[ ]与.运算符 EL 提供“.“和“[ ]“两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用“[ ]“。例如: user.My−Name应当改为{ user. My-Name}应当改为{user[“My-Name”]} 如果要动态取值时,就可以用“[ ]“来做,而“

2015-11-13 13:08:22 243

demo脚手架代码-学习使用

demo脚手架代码-学习使用

2021-10-08

Spring+Boot核心笔记.pdf

Spring+Boot核心笔记.pdf

2021-07-06

空空如也

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

TA关注的人

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