自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RocketMq 实战总结

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

2024-05-09 19:55:20 606

原创 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 1517 59

原创 设计模式--观察者模式

在上面例子中,ConcreteSubject 是主题,它维护了一个观察者列表,并在状态改变时通知所有注册的观察者。ConcreteObserver 是观察者,它实现了 update 方法以响应主题的通知。观察者模式有助于实现对象之间的解耦,使得对象之间的依赖关系更加灵活。

2024-09-19 20:03:55 327

原创 多线程之CompletableFuture

以上就是CompletableFuture的一些基本用法,可以根据实际需求选择合适的方法来构建异步任务流。

2024-09-19 20:03:11 426

原创 设计模式--单例模式

每种实现方式都有其优缺点,在选择时可以根据实际需求进行考虑。例如,如果你的应用程序是多线程环境并且希望实例在第一次使用时创建,那么可以采用双重检查锁定的方式;如果你的应用程序是单线程环境,那么简单的懒汉式实现就足够了。单例模式是一种常用的软件设计模式,它确保一个类只有一个实例,并提供一个全局访问点。这种模式经常用于系统中只需要一个实例的对象,例如日志管理器、数据库连接池、线程池等。

2024-08-15 20:08:51 596

原创 设计模式总结

设计模式是在软件工程中用来解决常见问题的一种标准方法。它们是经过验证的解决方案,可以用于在不同的上下文中重复出现的设计问题。设计模式通常包括三个基本要素:模式名称、问题描述和解决方案描述。适配器模式(Adapter)

2024-08-15 20:03:59 516

原创 MySQL 存储引擎之MyISAM

这个 SQL 语句创建了一个名为 users 的表,其中 id 是主键并自动递增,name 和 email 分别是名字和电子邮件地址字段,email 字段还设置了唯一性约束。最后 尽管 MyISAM 在某些方面表现优秀,但它已经被标记为不再维护的状态,新的开发项目通常推荐使用 InnoDB 存储引擎,因为它提供了更好的事务支持、行级锁定以及其它高级特性。MyISAM 是 MySQL 中的一个存储引擎,它在 MySQL 的早期版本中非常流行,并且在某些特定的应用场景下仍然有其独特的优势。

2024-08-08 19:52:08 318

原创 MySQL 存储引擎之InnoDB

InnoDB 将数据存储在一个或多个 .ibd 文件中(每个表一个文件),或者在一个共享的表空间文件(通常是 ibdata1)中。数据是以页为单位组织的,默认页大小为 16KB。每一页可以包含数据行、索引或其他元数据。排他锁 (X Lock):允许一个事务更新一行数据,并阻止其他事务读取或更新同一行数据。意向锁 (IS, IX):用于锁定表或索引的一部分,表明事务可能需要获取更深层次的锁。共享锁 (S Lock):允许多个事务读取一行数据,但阻止其他事务获取排他锁。

2024-08-08 19:46:34 626

原创 如何成为一名优秀的程序员

程序员的成长是一个持续学习和实践的过程,涉及到技术技能的提升、软技能的发展以及职业规划的思考。记住,每个程序员的成长路径都是独一无二的,重要的是找到适合自己的节奏和方式,持续不断地学习和进步。开源社区是很好的学习平台,可以贡献代码,参与开源项目,与他人合作解决问题。考虑专业方向的选择,比如前端开发、后端开发、全栈开发、数据科学等。学会时间管理和自我驱动,这有助于提高工作效率和个人项目的完成度。培养解决问题的能力,学会从错误中学习,不断优化自己的工作流程。定期评估自己的职业目标,设定短期和长期的职业规划。

2024-07-23 20:00:01 255

原创 MySQL 存储引擎

MySQL 支持多种存储引擎,每种引擎都有其特定的用途和优势。

2024-07-23 19:58:59 582

原创 正则表达式在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 319

原创 IntelliJ IDEA 和 Eclipse的区别

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

2024-07-18 19:44:31 1992

原创 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 565

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

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

2024-07-18 19:36:47 577

原创 慢SQL分析和优化

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

2024-07-18 19:33:10 282

原创 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 1496

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

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

2024-07-16 19:55:58 423

原创 常见云存储服务对比

一些常见的云存储,如阿里云的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 489

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

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

2024-07-01 19:28:20 457

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

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

2024-05-21 19:30:17 274

原创 easyExcel导出百万数据

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

2024-05-10 19:38:49 1163

原创 Linux安装java环境

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

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

原创 crontab开启定时任务

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

2024-05-10 19:37:54 220

原创 linux 安装docker

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

2024-05-09 19:55:51 321

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

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

2024-04-02 19:37:45 275 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 986

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

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

2024-03-07 20:58:26 665

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

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

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

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

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

2024-01-25 20:26:50 451

原创 Spring IOC和AOP

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

2024-01-24 20:37:43 394 1

原创 布隆过滤器

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

2024-01-24 19:49:52 996

原创 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 1150 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 3368 47

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

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

2023-07-13 19:39:21 751

原创 华为OBS云储存

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

2023-07-13 19:38:00 958

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

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

2023-07-13 19:36:15 673

原创 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 577

原创 Docker安装redis

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

2023-07-13 19:33:28 252

原创 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 440

原创 IO模型总结通俗易懂

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

2023-05-09 10:18:34 298

空空如也

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

TA关注的人

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