自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (4)
  • 收藏
  • 关注

原创 Hadoop安装和测试

bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本。保存退出,记得也需要source一下/etc/profile,使系统重新加载一下配置文件。- etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件。进到/etc/alternatives目录,再次ll找到真实引用。进到/usr/bin 使用ll命令,找到java命令真实的引用。1,在/data目录创建test目录放测试文件和输出文件。有如下图的输出,就是安装成功了。

2024-06-17 18:12:42 675

原创 SSE—实时数据推送新选择

SSE(Server-Sent Events),SSE是一种基于HTTP协议的服务器向客户端推送数据的技术。它的优点是实现简单、轻量级,对现有服务器软件兼容性好。但是,由于SSE是单向通信模型,只能由服务器向客户端推送数据,对于需要客户端向服务器发送数据的场景,SSE就无法满足需求。

2024-06-11 15:08:47 1000

原创 Linux下查看进程和端口信息

可以在任务管理器查询进程号并杀死。# window 查看占用端口80。# 查询进程号2448信息。

2024-06-05 10:17:49 241

原创 JDK 22 新特性

JDK 22 于 2024 年 3 月 19 日全面发布。

2024-06-04 17:04:56 593

原创 Arthas调优工具使用

注意:在docker或k8s的pod里也可以用,不过可能会因为重启等原因导致jar包丢了,但是可以重新下载再启动arthas。5,服务器上执行,看结果, 找耗时长的子方法。3,本地idea安装Arthas idea。6,根据结果继续执行4,5, 逐步优化。4,选定方法右键trace,生成命令。选定要绑定的Java进程ID。

2024-06-04 14:28:48 454

原创 Spring Boot 3.x集成FastDFS记录

最近在做一个课程,需要用讲一下SpringBoot 使用文件上传的功能,选择了FastDFS作为文件存储OSS。Spring Boot是最新的3.3.0版本,JDK版本是17,中间有一些坑,下面记录一下。

2024-06-04 14:18:33 961

原创 spring boot 3.x版本 引入 swagger2启动时报错

級到Spring Boot 3.x之后,需要从Springfox迁移到SpringDoc,Springfox已经很久没有维护了,不兼容Spring Boot 3.x -->-- 引入1.5.22及以上版本的swagger组件,以解决example默认解析报错(NumberFormatException)的问题 -->Spring Boot版本是3.3.0。那么就针对这个修改pom引入就好了。在pom文件后面加上下面配置。

2024-05-31 10:14:06 1157

原创 idea解决“源根之外的java文件“的问题

选中模块,然后在右边选中对应的文件夹,标记为源代码(项目java代码根目录)或测试(测试代码根目录)或资源根目录(resources)或测试资源或排除的。idea编辑器打开一些老Spring项目,会出现项目结构解析不正确,最后整个项目的java文件都无法正常运行,显示“源根之外的java文件”。这里的交互有点儿奇怪,不要随便点排除的, 如果误点了,项目代码就不会展示了,可以通过点下面列表后面的x来去掉选择。打开File->项目结构。

2024-05-31 09:56:18 1262

原创 Spring常用注解(超全面)

EnableCaching:开启注解式的缓存支持;@Resource:由JSR-250提供 @Autowired、@Inject是默认按照类型匹配的,@Resource是按照名称匹配的,@Autowired如果需要按照名称匹配需要和@Qualifier一起使用,@Inject和@Name一起使用。@RestController 该注解为一个组合注解,相当于@Controller和@ResponseBody的组合,注解在类上,意味着,该Controller的所有方法都默认加上了@ResponseBody。

2024-05-27 20:05:16 2066

原创 Maven查看项目中的pom依赖

安装包路径:/usr/local/opr-platform/opr-platform.jar -> BOOT-INF/lib/commons-compress-1.19.jar。-- 将easyexcel中的低版本commons-compress排除掉,再导入高版本的commons-compress -->但是需要注意的是,并不是所有的升级都适用上面这种,因为可能两个版本不兼容,所以在做上面这样的升级时,需要测试一下是否兼容,功能是否正常。回到背景里提到漏洞,在找到包之后,可以用以下的方法修复。

2024-05-27 15:59:09 746

原创 解决问题:com.alibaba.otter.canal.protocol.exception.CanalClientException: deserializer failed异常

所以canal会报错,没法儿正确的完成ack,所以batchId也不会增加,导致一致没法完成数据的同步。1.2 使用threadLocal存储batchId,保证同一个线程调用时batchId相同。在ack给canal的时候,batchId和取binlog时的batchId不一致。1.1 将获取batchId和ack用的batchId这一段放在同步代码块里。修改canal.properties。1,在消费端代码里,保证线程安全。2,在canal上配置参数。

2024-05-11 13:58:59 912 1

原创 响应式编程Spring Reactor探索

基本思想是将所有要处理的I/O事件注册到一个中心I/O多路复用器上,同时主线程阻塞在多路复用器上,通过轮询或者边缘触发的方式来处理网络I/O事件。Reactor设计模式和响应式编程类似,它们都不主动调用某个请求的API,而是通过注册对应接口,实现事件触发执行。创建Mono,设置超时时间为60秒,将任务交给service层去处理,请求会在这儿挂着,然后可以继续接收新的请求。Spring Reactor框架是响应式编程的一个很好的实践,能帮助开发者快速完成相关的需求,能很好的实现支持背压处理。

2024-05-08 11:44:53 954

原创 Canal+Springboot实现数据同步,全网唯一一个跑通了的案例

下面代码中的canalServerIp是上面部署了canal的那个服务器的IP,端口是默认的11111, destination就是上面dts(模式是example,也可以是你自己取的实例名)-- 查询是否开启了binlog的格式,需要是row,可以在show后面加一个global,查询全局变量。没想到的是,这玩意儿,号称社区活跃,技术成熟,竟然没找到一个博客写清楚了它的部署,全部是跑不起来的。于是,本着有困难上,没困难制造困难上的初心,决定还是挑战一下其他的方案,比如canal。

2024-04-28 17:51:17 1266 1

原创 解决问题:Canal客户端覆盖服务端Subscribe,只有TRANSACTIONBEGIN和TRANSACTIONEND日志,没有ROWDATA日志的问题

在整合canal和Spring时,本地使用canal的subscribe方法订阅了需要监听的表,但是获得只有transactionbegin和transactionend两种eventType的日志, 没有rowdata类型的日志,导致无法完成监听数据库数据更新的需求。我们在覆盖客户端的订阅的时候,他在有的Issue上或者很多博客中也有回复使用.*\\..*会覆盖服务端配置,这样确实会,但是这样会所有的表都不能匹配到该正则上。3. canal下的以canal打头的表:canal\\.canal.*

2024-04-28 17:01:29 228

原创 规则引擎Drools+Nacos实现动态规则

在内部匹配队里里面,优先级越高的规则,执行顺序越靠前。默认的优先级的值是0,优先级的值可以是正数,也可以是负数。项目中有需要根据规则计算不同收费方费用的需求,后面还会有优惠券、满减、限时折扣之类的规则,同时需要配合不同运营活动动态配置,这些需求对计算的灵活性要求比较高。下面是在nacos中的配置: 格式是text, data-id是drools-rule(随意命名, 只要和项目启动文件里的data-id一致就可以)Drools是比较常用的规则引擎,可以自己定义计算规则,简化项目代码中的逻辑。

2024-04-16 08:54:43 404 5

原创 K8s上报io.minio.errors.InvalidResponseException: Non-XML response from server. Response Code:413问题解决

项目是部署在K8s上,上传一个文件时报io.minio.errors.InvalidResponseException: Non-XML response from server. Response Code:413异常。上传文件到minio上报错,如果没有提示其他原因,基本上可以确定请求在网关层(gateway或者nginx)就被拦截了。2.3 如果不是K8s,而是nginx的话,可以去nginx.conf中加一个配置。如果是nginx的话,重启解决!http模块下加上下面这个配置。重新部署,问题解决!

2024-04-10 20:08:33 925

原创 OutOfMemoryError: Cannot reserve 4194304 bytes of direct buffer memory Netty引起的堆外内存溢出OOM问题解决

通过DirectByteBuffer 分配内存时,可能会出现分配内存不够的情况,因此JVM如果发现堆外内存分配不足时,也会主动发起一次GC,只不过这次GC是通过System.gc() 实现的强制GC,但是在实际生产环境中我们都是通过JVM参数 -XX:+DisableExplicitGC,禁止使用System.gc()的,因此在实际使用过程中一定要注意分配内存的情况,避免出现内存泄漏。直接内存的申请相较堆内存慢,但是访问速度较快,对频繁使用的空间,使用直接内存可提升效率;(1)JVM内存模型。

2024-04-03 16:14:56 1261

原创 IDEA debug或启动报错:maven-resources-production:XXX:java.lang.NegativeArraySizeException: -12131问题解决

在没有改动任何代码,特别是pom文件的情况下,IDEA突然启动不了项目, 报了 maven-resources-production:项目名:java.lang.NegativeArraySizeException: -12131, 然后各种重启包括重启电脑,还是一直是这个错误。

2024-04-01 15:19:12 1277

原创 MySQL中的日历/时间/时间戳

1, 日期/时间转换成字符串 date_format(date,format), time_format(time,format)-- 2187-01-12(1970-01-01之后798797天的日期)-- 1(从1970-01-01到2024-03-01中间天数)select datediff('2023-05-08', '2023-05-01');-- 2020-01-3(拼凑日期)-- 12:15:30(拼凑时间)

2024-03-27 17:16:39 994

原创 超全的IP查询免费API

可以任选一个在命令行工具里输入,然后回车确认。请求参数(可选):ip、lang ...请求参数:ip(可选)、type。请求参数(可选):ip、json。对于国外ip的位置信息不太准确。请求参数(可选):format。请求参数(可选):你的ip。请求参数:ip(可选)请求参数(可选):ip。请求参数(可选):ip。请求参数(可选):ip。请求参数(可选):ip。请求参数(可选):ip。请求参数(可选):ip。请求参数(可选):ip。请求参数:s=你的ip。请求参数:otype。请求参数:query。

2024-03-19 18:18:35 3998

原创 Spring单元测试+Mockito

单元测试基本上是开发逃不过的一个工作内容,虽然往往因为过于无聊,或者过于麻烦,而停止于项目的迭代之中,不了了之了。其实不是开发们懒,而是上头要求的测试覆盖率高,但是又没有好用的工具,导致工作积压,最后只能舍弃掉这部分。最近发现Spring+junit+mockito很好用,特别是对于DDD架构的项目,可以针对特定的代码层做单元测试,贼好用。2,使用mockito3,覆盖率检测三,实战1,新建测试类idea中在类里ctrl+shift+T注意:只有public方法才能生成

2024-03-19 14:56:21 892

原创 Spring 3升级指导

移除 mybatis-plus-boot-starter 中依赖的 mybatis-spring 2.1.1 版本,单独引入高版本 mybatis-spring 3.0.3 版本。Spring开源多年,已经经过了多次的升级迭代,最新的已经到Spring 6了,但是估计大家最常用的还是Spring 2.x。配置文件里,把spring.redis.xxx.xxx改成spring.data.redis.xxx.xxx。- 删除 log4j-api、slf4j-api 依赖,使用默认依赖和版本。

2024-03-19 14:03:09 1051

原创 Springboot和Spring Cloud版本对应

Spring在不断地升级,各个版本存在一些不兼容的地方,为了避免出现问题,最好注意使用正确的版本。

2024-03-18 17:37:44 670

原创 分库分表面试必背

按照某些规则,比如说按照年份,对订单数据库进行划分,一年一个数据库,如db_order_2024,db_order_2025,下面的表和表结构完全一致,但是存储的数据不一样,分别归属于不同年份的订单数据。第三层:因为innodb的叶子节点,是直接包含整条mysql数据的,假设每条数据以1kb计算,那么第三层每个节点为16kb,那么每个节点是可以放16个数据的,所以最终mysql可以存储的总数据为。:对于存在逻辑主外键关系的表,如订单表和订单明细表,可以考虑将它们的数据物理上存储在一起,形成一个绑定表。

2024-02-19 15:57:57 971

原创 压测工具jmeter安装和使用

再进入到解压后的文件夹,进到bin目录,再双击ApacheJMeter.jar,就可以启动jmeter工具了。选中线程组,右键,添加监听器,然后按照需要添加想要的报表,比如常见的查看结果树、汇总报告、聚合报告等。JMeter使用,主要分4步:新建测试计划,添加线程组,添加请求,添加监听(结果报告)放在header里的参数可以在这里添加,比如常见的Content-Type。这个是免安装的,只需要配置环境变量,就可以使用啦。在线程组上右键,添加取样器-HTTP请求。点击测试计划,右键,添加线程组。

2024-02-19 09:57:41 400

原创 分布式ID生成框架Leaf升级踩坑

在项目中需要一个统一的拿单号等唯一ID的服务,就想起了之前用到的leaf,但是因为项目要求,leaf的版本不符合,需要做一些升级。1,创建目录/tmp/hub-leaf/leafconf/8102/ (这个8102就是在上面启动配置中的那个port)1,去掉leaf-core项目中pom.xml中的properties配置,统一到parent项目中。3,修改leaf项目的leaf-parent pom.xml文件。2,leaf-server项目中改成。因为都是公用的,所以可以直接去掉。

2023-12-01 09:01:05 1466

原创 ERROR DruidDataSource java.sql.SQLException: validateConnection false问题解决

注意: 只适用于Spring Boot 2.3,后面版本有修改,所以推荐用方法1。改完之后,重启项目就好了。

2023-12-01 08:27:06 889

原创 MybatisPlus自定义多数据源时BaseMapper中方法(insert,selectList)遇到Invalid bound statement (not found)问题

项目使用了MybatisPlus,多数据源和shardingsphere,所以自定义了数据源配置,按照需求去生成sqlSessionFactory,就遇到了MybatisPlus原生的BaseMapper中的方法无法使用,比如insert, update, selectList之类的,都出现了Invalid bound statement 问题。//重点,不要用原生的org.apache.ibatis.session.Configuration。3,检查自定义的数据源配置是否正确。

2023-11-23 14:11:08 2846 2

原创 idea 配置checkstyle全过程

checkstyle是提高代码质量,检查代码规范的很好用的一款工具,本文简单介绍一下集成的步骤,并提供一份完整的checkstyle的代码规范格式文件,以及常见的格式问题的解决方法。

2023-11-01 11:17:51 2105

原创 Oracle查询表结构、索引和备注

【代码】Oracle查询表结构、索引和备注。

2023-10-31 12:26:10 1564

原创 货币代码和数字代码表

12406-1996《表示货币和资金的代码》与ISO 4217:1990等同。

2023-10-24 16:45:12 2125 2

原创 一次说全COLA应用架构

1,原版COLA 4.0:应用架构的最佳实践_cola实战_程序员万万的博客-CSDN博客2,不知道什么的版本COLA 架构_mob649e815da088的技术博客_51CTO博客3,另外一种不知道什么的版本COLA架构 入门-阿里云开发者社区关于定义确实各说各的,我们可以忽略,只要关注一个本质就好了,那就是大家都提到的分层简单来说,就是专一职责,专业的Layer做专业的事儿,解耦,避免臃肿。给 COLA 做减法:应用架构中的“弯弯绕设计”-阿里云开发者社区没有最佳,只有适合。如无必要,勿增实体!

2023-10-20 14:43:41 1102

原创 分布式链路追踪系统Skywalking的部署和应用

通过对比可以看到,Pinpoint和Skywalking不相上下,各有优劣,从界面、操作,集成方式来说,Pinpoint更好, 不过因为种种不得已的原因,我们今天还是聚焦在Skywalking上,它的优点是部署难度低,监控范围广、维度多,对代码侵入少,系统性能损失低,还支持接入 ELK 进行存储展示。下图描述的是树结构的Span集合,表示一次完整的跟踪,从请求到服务器开始,服务器返回response结束,跟踪每次rpc调用的耗时,存在唯一标识trace_id。cat: 大众点评开发的实时应用监控平台。

2023-10-19 17:49:45 1463

原创 清算、结算、南北卡支付行业概念一次说清

7,清算(settlement):主要是指不同银行间的货币收付,可以认为是结算进行之前,发起行和接收行对支付指令的发送、接收、核对确认,其结果是全面交换结算工具和支付信息,并建立最终结算头寸。10,可以简单理解为,清算、清分、结算主要是发生在跨行交易中的流程,清分是各银行为清算做账务准备,清算是各银行间交换账目、核对确认、确认结算头寸,结算是按照结算头寸进行最后的资金转移。简单来说,网联就像“线上版的银联”,主要为支付宝、财付通这种第三方支付机构提供一个统一的清算平台,不发卡,也不做支付。

2023-10-07 18:38:02 410

原创 idea没有maven工具栏解决方法

背景:接手的一些旧项目,有pom文件,但是用idea打开的时候,没有认为是maven文件,所以没有maven工具栏,不能进行重新加载pom文件中的依赖。有了上面的工具栏,就可以去重新加载pom文件配置或者clean,打包项目了。选择添加为Maven项目,就会出现maven工具栏,如下图。解决方法:选中pom.xml文件,右键。

2023-09-26 15:55:07 1663

原创 Docker和Docker compose的安装使用指南

启动完之后,也可以用docker ps -a 来查看启动的docker实例。4,指定docker compose文件启动docker实例。Docker运行需要依赖jdk,所以需要先安装一下jdk。三,Docker Compose安装和验证。1,下载安装docker compose。3,查询docker-compose版本。7,查看已经运行的docker实例。二,Docker安装和验证。6,查看docker信息。3,安装docker。4,启动docker。

2023-09-26 15:26:33 446

原创 SpringBoot+Vue项目中session改变的问题解决

在登录之后,会以sessionId为key存在httpSession中,然后后续请求就会现在Filter中看是否在HttpSession中查询到数据,如果查到才继续,如果查不到,直接打回,去登录。但是在本地调试的时候,一直弹出让重新登录的弹框,debug的时候发现,登录的时候的session和完成登录之后请求菜单权限的session不一样,问题出现了。如果上面配置的API地址是IP的,那下面的本地访问地址也要用IP。如果是配置的localhost,那本地也就访问localhost。

2023-09-22 14:30:45 1132

原创 Linux服务器自定义登陆提示信息

etc/motd是Linux终端登录的欢迎语句存储文件,/etc/motd内容显示在用户成功登录系统之后。/etc/issue​ ​.​​net是Linux终端登录的欢迎语句存储文件,/etc/issue.net的文件内容显示在login提示符之前。/etc/issue是本地终端登录时显示,而/etc/issue.net是远程登陆时显示的。/etc/issue是Linux终端登录的欢迎语句存储文件,/etc/issue的文件内容显示在login提示符之前。vi /etc/motd 编辑下面的内容。

2023-09-20 17:41:41 1182

原创 windows安装多版本python和切换默认版本

python是现在非常流行的一个语言,适合快速开发,同时也是node等一些语言的基石,但是因为历史原因,python 2.x版本和3.x版本之间差别很大,不能兼容,所以需要安装多个版本,并灵活切换,来满足不同场景下对python版本的要求。

2023-09-19 10:22:52 3250

原创 zookeeper可视化工具ZooInspector用法

最近在做银行的项目,用到了thrift,rpc和zookeeper,所有应用都是注册到zookeeper上的,想知道哪些应用注册上了,就用到ZooInspector这个可视化的工具。

2023-09-14 19:37:51 489

升级原生版本支持nacos和feign调用的分布式ID方案leaf

升级原生版本支持nacos和feign调用的分布式ID方案leaf

2023-12-01

升级后的分布式ID获取服务Leaf

升级后的分布式ID获取服务Leaf

2023-12-01

货币代码和数字代码关联表

包含全世界的货币代码和数字代码,以及关联关系和中英文名称

2023-10-24

全球最全的货币代码和数字代码表

全球最全的货币代码和数字代码表

2023-10-24

银联ISO8583报文解析,组包,PIN解密,MAC计算工具

银联ISO8583报文解析,组包,PIN解密,MAC计算,全网唯一

2023-09-04

支付行业缩写词专业词词条表(包含全称和中文)

支付行业缩写词专业词词条表(包含全称和中文)

2023-08-18

Spring Gateway+Security+OAuth2+RBAC 实现SSO统一认证平台

内容:完整集成了Spring Gateway, Spring Security, Nacos, OAuth2, RBAC, 手机验证码登录等SSO统一认证平台,全平台唯一,全平台最全,全面细致,已经帮你踩了很多坑,一看就会,可以本地运行,或者直接作为认证平台。 适合人群:准备搭建SSO平台的架构师,准备学习OAuth2和Spring Gateway结合的高级开发 优点:全面包含了集成网关和认证鉴权的逻辑,本地运行起来就可以测试,代码完全可以引用到自己的项目中,不用删改即可完成SSO+Gateway+OAuth2+RBAC+Nacos的平台架构搭建。

2023-08-10

免费数据库实时同步工具和脚本全套

DTS数据库同步服务是目前主流大厂常用的基础服务,各大平台都有付费服务,收费均在千元以上。分享一个免费同步数据的工具,包含工具插件和全套脚本。为你省下大几千块,不香吗?

2022-08-15

android语音控制源代码

android语音控制源代码,调用内置google voice,设置语音操作命令.

2014-04-29

ASP.NET登陆模块带MD5加密

ASP.NET登陆模块带MD5加密.比较完整,可以使用它作为自己网站的一个模块.

2014-04-21

多功能WIFI神器

wifi设置,多功能音乐视频播放,多功能计算器

2012-12-27

云地名地址数据库

详细的云地名地址 地址规范与规范地址分库管理 支持地址规范管理; 支持将地址资源空间划分为规范地址命名空间和用户地址命名 空间; 在地址数据库中,可以根据实际情况的需要,将整个地址空间划分为 规范地址命名空间和用户地址命名空间; 规范地址命名空间表示必须要符合规范的命名空间,不能随意进行修 改,用户地址的前一部分地址节必须遵循;

2012-05-30

空空如也

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

TA关注的人

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