自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RocketMq 实战总结

由于本地测试的时候也会注册消费者到broker,但是后续发送消息的时候可能很多消费者都不在线,没有消费能力导致消息堆积。CONSUME_FROM_LAST_OFFSET 每次启动都会从队列首部开始消费,后续根据上次消费的位置继续消费。CONSUME_FROM_FIRST_OFFSET 每次启动都会从队列尾部开始消费,后续根据上次消费的位置继续消费。同一个消费者组,集群模式下每一个消费者接收的消息加起来是全量消息。同一个消费者组,广播模式下每一个消费者都接收全量消息。4.广播模式消息堆积问题。

2024-05-09 19:55:20 499

原创 java对象拷贝,对象数组拷贝封装

通过BeanUtils功能,手动封装一下,实现多对象拷贝继承BeanUtils package com.example.start.common.utils.beancopyutil;import org.springframework.beans.BeanUtils;import java.util.ArrayList;import java.util.List;import java.util.function.Supplier;/** * @Author luckylitt

2020-12-06 09:57:12 1470 59

原创 正则表达式在java中的基本使用

在 Java 中,正则表达式的使用主要通过 java.util.regex 包下的三个核心类:Pattern, Matcher 和 PatternSyntaxException。Matcher 对象。执行匹配操作:使用 Matcher 类的方法如 matches(), find(), replaceAll(),创建 Pattern 对象:使用 Pattern.compile(regex) 方法编译正则表达式字符串到一个 Pattern 对象。replaceFirst() 等进行匹配或替换操作。

2024-07-19 19:55:37 281

原创 IntelliJ IDEA 和 Eclipse的区别

如果你的机器性能足够强大,且追求更智能的开发体验,IntelliJ IDEA 可能是更好的选择。IntelliJ IDEA 和 Eclipse 都拥有庞大的插件生态系统,但 IntelliJ IDEA 的插件市场可能更集中,易于管理和发现新插件。这使得 Eclipse 在低配置的计算机上运行更为流畅。Eclipse 的插件生态系统非常成熟,有大量的插件可供选择,包括一些特定领域的插件,如 Mylyn 用于任务管理。IntelliJ IDEA 有免费的社区版和付费的专业版,专业版提供了更多的高级功能。

2024-07-18 19:44:31 492

原创 IDEA常用快捷键

如果需要查看完整的快捷键列表,可以在 IntelliJ IDEA 中通过 Help > Find Action 或者使用 Ctrl + Shift + A 快速访问搜索框,然后输入 “keymap” 来查看和定制快捷键设置。Ctrl + Shift + F7:高亮显示变量的所有使用情况。Ctrl + Alt + F7:显示当前文件中符号的使用情况。Ctrl + Alt + F12:显示当前文件中符号的声明。Ctrl + Shift + E:显示最近更改的文件。Ctrl + Shift + N:跳转到文件。

2024-07-18 19:41:51 298

原创 Git 和 Subversion (SVN)的全方面对比

Git 和 Subversion (SVN) 是两种流行的版本控制系统,它们是我们开发中用的最多的两个工具。

2024-07-18 19:36:47 373

原创 慢SQL分析和优化

慢SQL查询优化是一个多方面的过程,涉及SQL语句本身、数据库表结构、索引设计、硬件性能以及数据库配置等多个层面。

2024-07-18 19:33:10 235

原创 Nacos部署升级1.4.2到2.3.1版本

ALTER TABLE config_info_beta ADD encrypted_data_key TEXT NOT NULL COMMENT ‘秘钥’;五.修改完配置nacos安装目录bin目录下执行启动命令即可,默认是集群的方式启动:./startup.sh。1.启动新服务之前,要先把旧服务停掉,可以使用ps -ef|grep nacos查看是否有启动的服务。Nacos集群默认启动内存较大,自己根据实际情况修改,不修改的话服务内存可能不足。

2024-07-18 19:23:07 969

原创 内存溢出的定位及解决办法

内存溢出(Out of Memory, OOM)通常发生在程序运行时分配的内存超过了系统能够提供的内存,或者在Java中,当JVM堆空间不足时也会发生。

2024-07-16 19:55:58 282

原创 常见云存储服务对比

一些常见的云存储,如阿里云的OSS(Object Storage Service)、华为云的OBS(Object Storage Service)、Oracle Cloud Infrastructure (OCI) 的 Object Storage 以及 AWS 的 S3(Simple Storage Service),可以从多个维度进行对比,包括但不限于:

2024-07-16 19:31:58 287

原创 OCI对象存储数据转移到另一个桶

/ 更新continuationToken以便获取下一页。LOG.info(“复制图片数量:” + num);LOG.info(“复制图片success”);// 处理当前页的对象列表。// 发送请求并处理响应。

2024-07-01 19:28:20 418

原创 使用Notepad++组装数据库查询参数

替换空格,Ctrl+F 使用正则表达式匹配全部替换,得到组装好的入参。Ctrl+F 使用正则表达式匹配全部替换,在列尾增加元素。选中第一个字符,Alt+c 如下图,输入’ 点击确定。如何将这列组装成入参,可使用Notepad++来完成。2. 将查询结果复杂到Notepad++中。

2024-05-21 19:30:17 211

原创 easyExcel导出百万数据

1.由于数据远程调用,大量数据查询导出不符合实际情况,这里采取远程调用接口,将数据写入华为obs,使用追加写入的方式,可以分批查询写入,避免一次查询全部数据造成的内存溢出问题,而且可以边写边读,提高效率。3.当obs写入完成修改写入状态,导出接口发现写入完成后进行最后一次数据读取,然后讲获取的数据导出到excel。2.设计一个进度表记录写入obs文件的进度,导出接口查询进度表,实时读取写入obs的数据。// 追加写入文件内容。

2024-05-10 19:38:49 1064

原创 Linux安装java环境

5.可以通过java -version查看安装的版本。2.上传压缩包并解压。

2024-05-10 19:38:11 407 1

原创 crontab开启定时任务

2.选择 2. /usr/bin/vim.basic。有时候不需要第一步直接输入2就可以了,如下图所示。此时就可以在里面配置我们想要执行的定时任务了。1.输入select-editor。

2024-05-10 19:37:54 163

原创 linux 安装docker

1.更新系统软件包列表:sudo apt update。或者使用其他发行版的相应命令。

2024-05-09 19:55:51 301

原创 华为分布式数据库中间件DDM总结

【代码】华为分布式数据库中间件DDM总结。

2024-04-02 19:37:45 181 1

原创 nacos集群搭建实战

现在IDEA启动的微服务实例,就会到 localhost:8048/nacos 地址 去找nacos注册中心了,然后会被nginx负载均衡合理地代理到某一个nacos实例。官方推荐的使用mysql数据库,推荐使用数据库集群或者高可用数据库。用Nginx直接对nacos做负载均衡 (nacos管理的分布式实例呀, Nginx管理好nacos就相当于管理好了所有的集群/实例了)进入nacos的conf目录,复制文件cluster.conf.example,重命名为cluster.conf。

2024-03-26 20:00:52 942

原创 通义灵码-智能编码辅助工具

通义灵码,是阿里云出品的一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云 SDK/OpenAPI 的使用场景调优,助力开发者高效、流畅的编码。行级/函数级实时续写根据当前语法和跨文件的代码上下文,实时生成行、函数建议代码。自然语言生成代码单元测试生成代码注释生成代码解释异常报错智能排查(Java)研发领域自由问答。

2024-03-07 20:58:26 537

原创 CodeArts Check-代码规范检查工具

本插件致力于守护开发人员代码质量,成为开发人员的助手和利器。秉承极简、极速、即时看护的理念,提供业界规范(含华为云)的检查、代码风格一键格式化及代码自动修复功能。当然扫描结果的问题是不是一定就会出错,是否需要修改,具体的还是要我们自己根据实际情况去判断一下:如下这个对我们来说就不需要修改。查看缺陷展示:可以根据严重程度,规则,文件来进行分类。安装这里就不介绍了,参考后面的文档链接就可以了。可以自定义扫描的文件目录,以及语言,规则等。缺陷详情和修复建议等。部分缺陷支持自动修复。

2024-01-26 19:33:50 435 1

原创 python制作飞机大战小游戏

自己根据个人喜好需要替换.png图片。运行python环境。

2024-01-25 20:26:50 407

原创 Spring IOC和AOP

iocioc是一种设计思想,将原来创建对象的控制权交给Spring去管理,ioc容器实际上就是一个map,map中存放的是各种对象,使用ioc可以很好的实现解耦,ioc容器就像一个工厂一样,当我们需要某个对象的时候,我们根据xml配置或者注解,配置完成引用即可aop面向切面编程,将那些和业务逻辑无关,但是又被业务模块共同调用的功能(比如日志,事务,权限等),抽象封装起来在需要用到的时候直接使用,可以减少重复代码,降低模块之间的耦合度,有利于后期维护。...

2024-01-24 20:37:43 364

原创 布隆过滤器

布隆过滤器:先说一下布隆过滤器的原理就是一个位数组,默认值都是0,当数据进来的时候通过不同的hash算法计算hash值,将对应的值设置为1,当再有数据进来进行相同的hash算法计算,如果计算的位数组的数据都是1,则认为这个数据可能存在,如果有一个不是1则说明这个数据一定不存在。经过上面的了解,是不是能解决我们最开始提出的问题了,我们可以将数据库的数据都保存到布隆过滤器中,当请求来的时候,先判断是否存在,不存在的话就就直接返回,如果判断存在的话再去请求redis,redis也不存在的话才去查询数据库。

2024-01-24 19:49:52 978

原创 Docker搭建rmq集群 2主2从

nameServer地址,这里nameserver是单台,如果nameserver是多台集群的话,就用分号分割(即namesrvAddr=ip1:port1;ip3:port3)#nameServer地址,这里nameserver是单台,如果nameserver是多台集群的话,就用分号分割(即namesrvAddr=ip1:port1;#nameServer地址,这里nameserver是单台,如果nameserver是多台集群的话,就用分号分割(即namesrvAddr=ip1:port1;

2023-10-24 09:30:00 1111 1

原创 MobaXterm升级专业版使用技巧

如下所示:docker run --rm -v $PWD:/data hausen1012/mobaxterm-keygen python3 /MobaXterm-Keygen.py admin 23.1。2.执行docker run --rm -v $PWD:/data hausen1012/mobaxterm-keygen python3 /MobaXterm-Keygen.py。背景:只要内网才能访问的数据库B,这时候我们本地想访问,需要打通隧道连接A服务 ,再通过A访问数据库B。

2023-10-21 14:33:53 2766 47

原创 ExecutorService 中 shutdown()、shutdownNow()、awaitTermination() 的区别及使用

或者 等超时时间到了(timeout 和 TimeUnit设定的时间);2.shutdownNow():停止接收新任务,原来的任务停止执行。跟 shutdown() 一样,先停止接收新submit的任务;已经提交的任务(包括正在跑的和队列中等待的),会继续执行完成;1.shutdown():停止接收新任务,原来的任务继续执行。等所有已提交的任务(包括正在跑的和队列中等待的)执行完;尝试将正在执行的任务interrupt中断;停止接收新的submit的任务;忽略队列里等待的任务;返回未执行的任务列表;

2023-07-13 19:39:21 404

原创 华为OBS云储存

追加上传 ObsClient.putObject上传的对象可覆盖ObsClient.appendObject上传的对象,覆盖后对象变为普通对象,不可再进行追加上传。4.OBS通过AK/SK对请求进行签名,在向OBS发送请求时,客户端发送的每个消息头需要包含由SK、请求时间、请求类型等信息生成的签名信息。2.桶是OBS中存储对象的容器,每个桶都有自己的存储类别、访问权限、所属区域等属性,用户在互联网上通过桶的访问域名来定位桶。// 指定创建多AZ桶,如果不设置,默认创建单AZ桶。

2023-07-13 19:38:00 889

原创 Amazon S3云存储(Amazon Simple Storage Service)

3.删除存储桶 在删除 Amazon S3 存储桶前,必须先确保存储桶为空,否则会导致错误。如果您的存储桶受版本控制,则必须同时删除与该存储桶关联的所有受版本控制对象。5.删除对象 使用 AmazonS3 客户端deleteObject方法,并向其传递要删除的存储桶和对象的名称。1.上传对象 使用 AmazonS3 客户端putObject方法,并提供存储桶名称、键名称和要上传的文件。操作桶资源 Amazon S3 中的每个对象(文件)必须放入存储桶,它代表对象的集合(容器)。

2023-07-13 19:36:15 560

原创 rocketmq 本地安装测试

2.配置环境变量 变量名:ROCKETMQ_HOME 变量值:自己RecketMQ的安装目录 如:D:\rocketmq\rocketmq-all-4.8.0-bin-release。进入目录 /rocketmq-externals/rocketmq-console,输入如下指令:mvn clean package -Dmaven.test.skip=true。解压完成之后,进入目录:rocketmq-externals/rocketmq-console/src/main/resources。

2023-07-13 19:34:17 523

原创 Docker安装redis

搜索redis镜像Docker 拉取镜像命令::docker pull <镜像名称>:<版本号>,可以看到有很多 redis 的镜像,此处因没有指定版本,所以下载的就是默认的最新版本。Docker 挂载配置文件接下来就是要将 redis 的配置文件进行挂载,以配置文件方式启动 redis 容器。一、挂载 redis 的配置文件 二、挂载 redis 的持久化文件(为了数据的持久化)。本人的配置文件是放在。

2023-07-13 19:33:28 224

原创 springCloud+nginx+RocketMq搭建高可用静态服务器

3.mkdir -p /opt/nginx-test/{conf,conf.d,html,logs} 创建nginx文件夹。在/opt/nginx-test 目录上传静态文件 访问http://ip:8392/1.jpg 进行测试。1.在对静态文件增删改操作时,通过发送消息的方式,让两台nginx服务都能对自己的静态文件进行同步。3.访问静态资源的时候通过网关转发的方式请求到任意一台正常工作的nginx上。4.copy文件:把刚才启动的nginx容器下的文件拷贝到我们新建的目录下。

2023-07-13 19:26:23 380

原创 IO模型总结通俗易懂

常见的有1. 同步阻塞IO模型同步阻塞 IO 模型中,应用程序发起 read 调用后,会一直阻塞,直到内核把数据拷贝到用户空间。比如去吃餐厅吃饭,点完餐一直在窗口等着饭做好,这个时间不能做其他的事情2. 同步非阻塞 IO模型同步非阻塞 IO 模型中,应用程序会一直发起 read 调用,等待数据从内核空间拷贝到用户空间的这段时间里,线程依然是阻塞的,直到在内核把数据拷贝到用户空间比如去吃餐厅吃饭,点完餐,找个地方坐下,想干嘛干嘛,过一段时间去问下我的饭好没有3. IO 多路复用模型。

2023-05-09 10:18:34 272

原创 ActiveMq在springboot项目中具体使用

什么是ActiveMQActiveMQ是消息队列技术,为解决高并发问题而生ActiveMQ生产者消费者模型(生产者和消费者可以跨平台、跨系统)ActiveMQ支持如下两种消息传输方式点对点模式,生产者生产了一个消息,只能由一个消费者进行消费发布/订阅模式,生产者生产了一个消息,可以由多个消费者进行消费下载ActiveMq下载地址选择对应的版本下载,下载完成后是一个压缩包,进行解压,根据自己的系统选择32位或者64位,cmd进入对应的bin目录,执行activemq.bat进行启动

2021-04-19 17:35:10 978

原创 线程池实战

什么是线程池用于管理线程资源,在任务执行前,从线程池中拿出线程来执行,在任务执行完成之后,把线程放回线程池。通过线程的这种反复利用机制,可以有效地避免直接创建线程所带来的弊端。线程池优点降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。线程池实现原理判断核心线程池是否

2021-04-06 17:33:06 585 1

原创 jdk JAVA1.8简单方法介绍

OptionalOptional 是一个简单的容器,其值可能是null或者不是null。在Java 8之前一般某个函数应该返回非空对象但是有时却什么也没有返回,而在Java 8中,你应该返回 Optional 而不是 null。optional的方法: //of():为非null的值创建一个Optional Optional<String> optional = Optional.of("cxd"); // isPresent(): 如果值

2021-03-26 22:07:35 42

原创 Oracle中模糊查询中转义的关键字escape

具体用法如下select * from DEPT_02_tmp a where a.dname like ‘IT/_%‘escape’/’;escape后面接的是转义标识符 标识符后面跟的是 需要转义的内容 转义之后的内容_不再作为通配符而代表其本身通配符可以随意选取如下所示:select * from ho_person where description like ‘/%%‘ESCAPE’/’;数据:1 16411 zhangsan 张三 %测试存储过

2021-03-24 17:53:13 2047

原创 存储过程简单使用

什么是存储过程:  存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。存储过程的好处:由于数据库执行动作时,是先编译后执行的。然而存储过程是一个编译过的代码块,所以执行效率要比T-SQL语句高。一个存储过程在程序在网络中交互时可以替代大堆的T-SQL语句,所以也能降低网络的通信量,提高通信速率。通过存储过程能够使没有权限的用户在控制之下间接

2021-03-24 17:49:26 1483 2

原创 Oracle执行计划

执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述PLSQL配置执行计划需要显示的项:工具 —> 首选项 —> 窗口类型 —> 计划窗口 —> 根据需要配置要显示在执行计划中的列执行计划的常用列字段解释:基数(Rows):Oracle估计的当前操作的返回结果集行数字节(Bytes):执行该步骤后返回的字节数耗费(COST)、CPU耗费:Oracle估计的该步骤的执行成本,用于说明SQL执行的代价,理论上越小越好(该值可能与实际有出入)时间

2021-03-24 17:45:08 1677 2

原创 Oracle索引

Oracle索引(index)最大的作用是用来优化数据库查询的效率,提升数据库的查询性能。就好比书的目录一样,可以通过目录来直接定位所需内容存在的页数,大大提高检索效率。何时创建索引:Oracle 数据库会为表的主键和包含唯一约束的列自动创建索引,所以在建立唯一约束时,可以考虑该列是否必要建立。是否经常要作为查询条件如果某个表的数据量较大(十几二十万以上),某列经常作为where的查询条件,并且检索的出来的行数经常是小于总表的5%,那该列可以考虑建立索引。对于两表连接的字段,应该考虑建立索引。如果

2021-03-24 17:41:16 1096 1

原创 Oracle查询优化

对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。.

2021-03-24 17:29:07 1425 1

空空如也

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

TA关注的人

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