自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

55555的博客

让学习成为一种习惯

  • 博客(299)
  • 资源 (1)
  • 收藏
  • 关注

原创 好用的IDEA插件推荐,提升你的开发效率

0. 引言不同类型的开发插件具备不同的作用,有能够直接提升我们开发效率的,也有能够规范我们代码的。在茫茫的插件海中,结合我这些年的使用总结,给大家推荐几款IDEA插件1. 代码规范类1.1 Alibaba Java Coding Guidelines介绍首当其冲的必定是阿里的代码规范插件Alibaba Java Coding Guidelines,从我还是小白时到现在这款插件已经陪伴了我几年光阴。我愿称它为你最少最少要遵守的代码规范。安装后,当你书写的代码不符合阿里规范时,会将代码标黄,鼠标移动

2022-04-16 18:13:09 11703 11

原创 mac pro M1/M2/M3(ARM)安装:VMWare Fusion及linux(centos7/ubuntu)(一)

0.引言最近正好在mac M1上安装centos虚拟机以及开发环境,特记录下,以供后续有需要的同学参考1.下载1.1 安装VMware Fusion我选择在VMware上运行虚拟机,所以需要下载VMware Fusion下载地址:VMware Fusion for M1选择ARM版本下载,目前是官方推出的针对M1的试用版本,无需激活,后续是否收费还未可知下载后双击安装即可1.2 下载centoscentos for m1下载地址:centos for m1北京外国语大学镜像地址(推荐下

2022-01-16 00:52:31 97112 259

原创 ELK搭建(一):实现分布式微服务日志监控

1、目标本次我们搭建的目标是通过ELK来收集微服务中的日志。本期主要以实操、快速搭建为主进行讲解,部分基础概念不做过多描述,后续会再单独出几期博客说明2、思路首先我们要部署的架构如下图所示,需要收集两个微服务的日志,并且最终在kibana中可视化呈现出来。可以看出日志的传输路线是:微服务产生日志,并将日志数据保存到磁盘中的.log文件中,filebeat监听log文件,将其数据收集并结构化后传输到logstash上,logstash将日志进行过滤收集,再传输到elasticsearch上,elast

2022-01-04 00:56:42 10396 11

原创 初级java工程师学习路线

掌握IDEA软件的安装、使用,能够使用IDEA创建并运行java代码B站马士兵教育:https://www.bilibili.com/video/BV1cX4y1w7q3java基础逻辑、语法、基本的类库https://www.bilibili.com/video/BV1FZ4y1H7rh推荐理由:java入门学习网站,我入门java的学习网站。java基础的一系列课程都有。推荐以观看马士兵教育的java基础视频为主,以查看这个网站学习为辅推荐理由:我的java入门学习书籍,掌握基础语法,理解java面

2021-12-30 22:35:56 3718 2

原创 做接口开发运维,居然不知道如何用curl指令测试接口网络传输耗时?

curl(Client URl)是一个用于传输数据的命令行工具,支持http、https、ftp、ftps、scp、sftp、telnet等多种协议,常用于API接口测试、网络连通性测试、文件上传下载等。其基本语法格式为curl [参数] [url]设置请求方式 -X# GET请求# POST请求# PUT请求设置参数 -d设置请求头 -H# POST请求设置Header下载文件 -o# 比如上传文件 -F,–data-binary# 表单文件上传# 二进制上传。

2025-03-05 08:00:00 1394

原创 DataX:datax-web实现增量、全量数据同步配置|datax-web简介

之前我们已经说明过datax-web的安装,可以看到其菜单主要分为项目管理、任务管理、数据源管理、日志管理、执行期管理、用户管理等几大管理模块项目管理其同步任务也是通过项目制来进行管理,任务中会关联项目,可以项目维度对任务进行管理任务管理任务管理中有4个子模块:任务管理、任务构建、任务批量构建、DataX任务模版DataX任务模版:主要用于创建任务模版,如果有比较多表的配置类似,只是字段上的区别,实际上可以通过创建任务模版,再根据模版来创建任务,以此实现快捷的任务新增。

2025-02-25 08:00:00 1379

原创 DataX:数据同步json配置详解|mysql同步到clickhouse案例

上节我们讲解了datax的安装和基本工作流程,本期我们具体讲解datax同步的配置项含义,以及如何利用datax实现全量、增量数据同步

2025-02-21 08:00:00 2005

原创 DataX:数据同步组件datax简介及部署指南

DataX 是阿里云DataWorks数据集成工具分支出来的开源版本,主要用于解决异构数据源之间的大量数据同步问题。它能够帮助用户高效地实现数据在不同数据存储之间的迁移和同步,支持多种数据源,包括关系型数据库、NoSQL、大数据计算引擎以及各种存储系统。

2025-01-17 07:30:00 2049 1

原创 java进阶:seata分布式事务未生效问题排查纪实|主事务回滚成功,分支事务未回滚

近期在做公司老项目和新系统的模块打通时出现了一个分布式事务不生效的问题,主要表现为主事务中出现报错,主事务回滚成功了,但是分支事务未回滚。特此记录,以供后续参考。

2025-01-02 18:30:00 2062

原创 JVM:记录一次因为查询量过大导致的OOM问题(四)

其实整个分析过程是比较顺利的,一是因为该问题埋的不深,二是因为本身对业务有一定了解,大概会猜测出现问题的点,所以在排查时顺着怀疑方向会快速很多。后续大家在排查此类OOM问题时,也可以先了解有风险的业务点,有一定的预估后进行排查会顺利很多。

2024-12-28 22:26:50 969

原创 java进阶:p7签名实现文件来源追溯和完整性校验

PKCS#1主要定义了基于RSA公钥密码体制的数字签名和加密机制。在数字签名方面,PKCS#1签名通常指的是使用RSA算法对信息进行签名的过程,其基本步骤如下:消息摘要:首先,对需要签名的数据进行哈希处理,生成一个固定长度的摘要(如使用SHA-256算法)。签名生成:然后,使用发送方的私钥对哈希摘要进行加密,生成的加密数据即为数字签名。签名验证:接收方使用发送方的公钥对数字签名进行解密,得到哈希摘要,并对接收到的原始数据进行同样的哈希处理,比较两个哈希摘要是否一致,以验证签名的有效性。

2024-12-11 08:00:00 806

原创 java进阶:还在用明文传输前后端参数?等保3级认证不过啦?|前后端参数加解密

前段时间公司老系统做等保三级认证,在前后端参数传输中被检测有重大漏洞,原因是原系统中使用的参数加密是对称加密,而密钥被明晃晃的存储在前端js代码中,相当于明文传输,后续结合非对称加密做了优化,今天特意整理下思路和实现方法,供大家参考

2024-12-10 20:30:00 1153

原创 pika:适用于大数据量持久化的类redis组件|jedis集成pika(二)

1、创建springboot项目,引入jedis依赖,为了方便和springboot项目集成,我这里单独引入了spring-data-redis。可以看到pika在低并发下的耗时是可以控制在10ms内的,高并发下也在100ms内,可以满足高并发低延迟的使用场景。从上述可以看到,其集成过程与redis完全一致,大家要实现集群模式或者哨兵模式的集成,也可以参考redis的形式。最后,为了验证pika与redis之间的差别,在服务器中对pika进行了压测,pika配置中仅调整了。

2024-12-10 19:00:00 878

原创 pika:适用于大数据量持久化的类redis组件|简介及安装(一)

pika是360开发的一款国产类redis的非关系型数据库,主要用来解决redis在大内存下产生的启动恢复时间长、一主多从代价大、缓存区容易写满等问题。适用于大数据量下的数据查询,比如日志、汇总数据、各种全量数据等。需要注意的是pika是类redis的,也就意味着它兼容redis的大部分指令和客户端其支持的客户端可以在github源码库中查看到,以java为例,比较常用的redis客户端jedis,redission都支持pika。

2024-12-08 14:01:56 1078

原创 java进阶:利用trueLicense实现项目离线证书授权

我们要实现的离线校验,实际上就是通过公私钥+证书的形式来实现的,首先生成公私钥,然后利用私钥生成证书,比如x509证书格式,x509证书由用户公共密钥和用户标识符组成。此外还包括版本号、证书序列号、CA标识符、签名算法标识、签发者名称、证书有效期等信息我们的核心目的就是要生成的证书中包含有效期,即可实现授权有效期,然后通过接口拦截器,每次访问接口时利用公钥对证书进行校验,查看证书是否合法、是否在有效期内,即可实现我们进行离线控制的目的。

2024-11-18 20:30:00 1396 3

原创 flink:java集成flink实现流数据处理(一)

2、引入依赖对应flink相关的依赖需要单独说明下,其jar版本需要根据flink版本来定,flink 1.11之前版本使用的是scala2.11, 之后加入了对scala2.12的支持,不同的版本引入的jar名称不同,比如包有3个,对应不同的scala版本,则为对多个版本的兼容版一般我们根据scala版本来定,比如我这里使用flink1.13, 则对应scala2.12

2024-09-27 19:00:00 5269 2

原创 dubbo:巧用dubbo的SPI机制实现各类定制功能(六)

SPI(Service Provider Interface),是一种服务发现机制,它允许服务提供者在运行时动态地为某个接口提供实现,而不需要在程序编译时进行硬编码。这种机制的核心思想是将装配的控制权移到程序之外,通过在模块化设计中实现接口与服务实现的解耦,从而提供一种插件化的扩展机制。SPI机制主要应用于框架和库的开发中,以支持服务的动态加载和替换。

2024-08-30 19:00:00 2000

原创 Java进阶:常常听到的热插拔插件功能原来这么简单

SPI是java提供的一直接口提供服务,或者说接口动态定制机制,之前我们介绍过java SPI实现接口扩展,而热插拔插件实际上也是基于SPI来实现的。SPI有3个核心步骤:(1)对接口类实现扩展的实现类(2)在资源目录中声明实现类路径(3)通过加载扩展的实现类,从而实现调用到这里我们针对java热插拔插件的实现就完成了,跟着操作下来你会发现神秘的热插拔功能或许没有那么难以实现。

2024-08-29 19:00:00 2158

原创 Java进阶:利用SPI机制不侵入源码而实现定制功能【附带源码】

首先我们要了解什么是SPI, (服务提供者接口 Service Provider Interface)是一种动态加载实现扩展点的机制,它允许服务提供者在运行时动态地为某个接口提供实现,而不需要在程序编译时进行硬编码。这种机制的核心思想是将装配的控制权移到程序之外,通过在模块化设计中实现接口与服务实现的解耦,从而提供一种插件化的扩展机制。SPI机制主要应用于框架和库的开发中,以支持服务的动态加载和替换在Java中,SPI机制的实现依赖于类,它负责查找和加载实现了特定接口的服务提供者。

2024-08-29 07:30:00 912

原创 dubbo:dubbo服务负载均衡、集群容错、服务降级、服务直连配置详解(五)

之前我们讲解了dubbo的基本使用,但在dubbo服务调用过程中,为了保证高可用dubbo提供者一般不是一个节点,当多个节点部署时,节点间的负载均衡问题随之而来,今天我们针对dubbo提供者服务的各类相关配置进行讲解

2024-08-27 19:00:00 1664

原创 dubbo:dubbo+zookeeper整合nginx实现网关(四)

首先针对nginx的学习我们早在nginx专栏就已经从零说明过,如果对于该组件的基础使用还未掌握的,建议大家可以先学习下nginx专栏Nginx快速上手专栏在本期文章中重点涉及其中如下几篇内容Nginx应用场景、安装、部署及设置开机自启(一)负载均衡upstream配置详解(四)nginx各类转发、代理配置详解|location、proxy_pass参数详解(五)

2024-08-22 19:00:00 1346

原创 dubbo:dubbo+nacos整合springcloud gateway实现网关(三)

上次我们讲到使用zookeeper作为注册中心搭建dubbo微服务框架,但是我们还缺少一个服务总入口,也就是我们的网关服务。所以今天我们的目标就是给dubbo框架搭建一个网关。dubbo框架体系一般是结合nginx来作为网关的,但有时我们需要在网关拓展集成更多的功能,nginx可能无法满足,这是就可以结合springcloud gateway来实现

2024-08-21 18:45:00 2227

原创 dubbo:dubbo整合nacos实现服务注册中心、配置中心(二)

之前我们讲解的是dubbo+zookeeper体系来实现微服务框架,但相对zookeeper很多企业在使用nacos, 并且nacos和dubbo都是阿里出品,所以具备一些天生的契合性,所以今天我们来讲解dubbo如何整合nacos实现服务注册、配置

2024-08-20 19:00:00 3759

原创 RocketMQ快速入门:主从、集群模式原理及搭建实操(十一)

在学习完rocketmq的基础知识后,我们进入rocketmq高可用保障的章节,即从服务部署架构角度,探索其支持的多节点部署模式。

2024-07-09 09:47:11 1656

原创 RocketMQ快速入门:事务消息原理及实现(十)

最后一句话总结一下,rocketmq的事务消息,是通过half消息(即二阶段提交)+回查机制来实现的。

2024-06-28 22:00:00 1347

原创 RocketMQ快速入门:如何保证消息不丢失|保证消息可靠性(九)

在金融、电商等对数据完整性要求极高的行业,消息的丢失可能会导致数据不一致,严重影响业务逻辑和数据统计,也影响客户体验,所以在很多业务场景下,我们都要求数据不能丢失。而rocketmq中,如何对消息防丢失进行处理的呢?

2024-06-20 19:00:00 2114

原创 RocketMQ快速入门:如何保证消息顺序消费,附带源码分析(八)

顺序消息在金融、电商等场景中被广泛应用,只要业务需求对流程顺序性有严格要求,就有顺序消息的应用之地。因此理解顺序消息的原理和实现路径,是我们学习rocketmq的必经之路。

2024-06-20 18:45:00 4199

原创 RocketMQ快速入门:集成springboot实现各类消息发送|异步、同步、顺序、单向、延迟、事务消息(六)附带源码

上一节针对spring或其他框架集成rocketmq实现消息发送进行了讲解,而作为当前更加流行的springboot框架,实现rocketmq的集成则更加简单,本节我们就重点针对springboot集成rocketmq,实现异步、同步、单向、顺序、延迟、事务消息发送进行讲解,文末附上源码。

2024-06-18 08:15:00 1467

原创 RocketMQ快速入门:集成spring, springboot实现各类消息消费(七)附带源码

rocketmq支持两种消费模式:pull和push,在实际开发中这两种模式分别是如何实现的呢,在spring框架和springboot框架中集成有什么差异?今天我们一起来探究这两个问题。

2024-06-18 08:15:00 2095

原创 RocketMQ快速入门:集成java客户端实现各类消息发送|异步、同步、顺序、单向、延迟、事务(五)附带源码

至此我们针对java client实现各类消息发送的方法就梳理完成了,但实际工作中,我们现在更加常用的是基于springboot框架,而rocektmq也有专门针对springboot框架进行集成,实现起来更加简单,下一期我们重点讲解springboot集成实现消息发送。

2024-06-17 18:45:00 2774

原创 软考又考了,数据库范式这次一定要弄懂!

1NF: 属性值都是不可分的原子值2NF: 消除主属性对候选键的部分依赖3NF: 消除非主属性对候选键的传递依赖BCNF: 消除主属性对候选键的部分和传递依赖。

2024-06-17 18:15:00 1170

原创 利用cherry pick巧妙地将某次提交单独合并到其他分支

cherry-pick 其作用就是将其他分支的单个提交合并到当前分支,其名字也很贴合——“摘樱桃”,从分支树上摘下来指定的几颗。其应用场景包括:合并单个提交:当我们只想将某个分支上的某一次提交合并到当前分支时,可以使用cherry-pick命令,而不需要合并整个分支修复bug:当我们在一个分支上修复了一个bug,并希望将这个修复同步应用到其他分支时共性功能:当我们在一个分支上开发了一个新功能,这个功能可能属于基础性通用功能,也希望应用到其他版本时。

2024-05-28 22:00:00 1343

原创 后端常用技能:基于easy-poi实现excel一对多、多对多导入导出【附带源码】

easy-poi是一个基于Apache POI的Java端Excel 操作工具库,目的是为了简化java程序对excel文件的操作。该库提供了简单的API接口,支持excel的读写、格式化等,以及excel数据导出到pdf、word等文件。easypoi-base 是 easypoi的核心模块,提供了基本的 Excel 处理功能,如读取、写入、转换等。它不依赖于 Spring Boot,可以在任何 Java 项目中使用。

2024-05-08 18:01:50 5976 16

原创 后端常用技能:解决java项目前后端传输数据中文出现乱码、问号问题

思路1:后端响应体及前端blob对象声明编码格式为utf8思路2:application.properties中设置全局编码格式思路3:重新编码传输数据思路4:jvm启动脚本中添加-Dfile.encoding=utf-8

2024-05-08 18:01:34 4870

原创 RocketMQ快速入门:group、topic、queue、tag等基本概念(四)

上一节,我们说明了rocketmq中的4个核心组成以及他们之间的工作关系。但其中穿插的topic, queue等概念,如果未接触过mq的同学可能会有些迷糊,所以本节,我们重点针对rocketmq中的基本概念进行讲解,之前学习过其他mq的同学也能够形成对比。

2024-04-23 20:31:16 5079

原创 RocketMQ快速入门:namesrv、broker、dashboard的作用及消息发送、消费流程(三)

接触rocketmq之后,大家首当其冲的就会发现需要安装3个组件:namesrv, broker, dashboard,其中dashboard也叫console,为选装。而这几个组件之前的关系是什么呢,消息发送和接收的过程是如何传递的呢,这是我们要详细了解的。

2024-04-23 20:30:48 1888 2

原创 RocketMQ快速入门:rocketmq 的应用场景、与其他mq的差异(二)

从上文可以看到rocketmq中实际上是有namesrv , broker两个组件的,除此之外rocketmq还有一个管理端,而这三个组件之前的关系是什么,如何协同合作的?我们将在下一节讲解。

2024-03-08 18:06:56 1449

原创 Mac M1:通过docker安装RocketMQ、RocketMQ-Dashboard

最近本地启动以前docker安装的rocketmq发现报错了,因为是从老mac迁移过来的,发现支持的芯片还是amd的,于是重新在docker下安装rocketmq,并记录下步骤,方便大家后续参考。

2024-03-08 18:05:30 5261 9

原创 Linux:安装minio并设置开机自启

最近在处理测试服务器的minio安装,发现之前并没有单独记录minio安装的详细过程,特此记录,供大家后续参考。

2024-02-22 09:53:54 4953 6

原创 RocketMQ快速入门: linux安装RocketMQ并配置开机自启(一)

针对rocketMQ的学习,首当其冲的就是正确安装服务,所以我们今天来看linux下如何安装rocketmq及其控制台服务,并设置各个服务的开机自启。

2024-02-17 20:53:50 5690

MSMQJAVA.rar

java远程向MSMQ队列发送消息,接收MSMQ消息所用jar包、dll文件等

2019-09-03

空空如也

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

TA关注的人

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