自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(307)
  • 资源 (2)
  • 收藏
  • 关注

原创 maven安装及配置(详细版)

1.下载:方式一可以从官方下载,下载页面:http://maven.apache.org/download.cgi方式二:或者题主提供的版本下载maven安装包提取码:ysns下载好后是一个压缩文件2.安装:maven压缩包解压到一个没有中文,空格或其他特殊字符的文件夹内即可使用。3.配置MAVEN_HOMEmaven 的使用是在jdk的基础上,所以电脑必须有jdk第一步:新增环境变量:MAVEN_HOME第二步:在path环境变量中添加:%MAVEN_HOME%\bin

2020-08-26 11:33:40 203326 50

转载 微服务的灵魂摆渡者——Nacos,来一篇原理全攻略

微服务的灵魂摆渡者——Nacos,来一篇原理全攻略。

2025-03-08 09:41:17 49

原创 SQLSyntaxErrorException: Expression #1 of ORDER BY clause is not in GROUP BY clause异常处理

如果结果中不包含 ONLY_FULL_GROUP_BY 就可以了。在查询下SELECT @@GLOBAL.sql_mode;如果结果中包含 ONLY_FULL_GROUP_BY。

2025-02-16 14:42:06 200 1

原创 CPU占用很高排查方案

Thread-1:等待锁定对象 0x00000000e4861e30,但被 Thread-0 持有。Thread-0:等待锁定对象 0x00000000e4861e40,但被 Thread-1 持有。把线程pid变为16进制如28532 - 》 6f74 然后得到0x6f74。(2)或者采用定时锁,一段时间后,如果还不能获取到锁就释放自身持有的所有锁。28532这个线程占比30%,比其他的都要高,怀疑此程序有问题。Thread-1 和 Thread-0 之间存在死锁。通过分析发现两个线程之间存在死锁。

2025-02-16 12:04:49 621

原创 Communications link failure异常分析解决

是一个常见的 MySQL 数据库连接异常,表示 JDBC 客户端与 MySQL 服务器之间的通信链路失败。异常,确保应用程序与 MySQL 数据库的稳定通信。通过以上方法,可以有效解决。

2025-02-15 19:44:42 830

原创 将jar安装到Maven本地仓库中

● -DartifactId=ctq-hmac:指定该 JAR 文件的 Maven artifactId,这是 Maven 坐标的一部分,用于区分同一组织下的不同模块或组件。● -DgroupId=com.zdxlz.common:指定该 JAR 文件的 Maven groupId,这是 Maven 坐标的一部分,用于区分不同的组织或项目。● mvn install:install-file:调用 Maven 的 install-file 目标,用于将本地文件安装到本地 Maven 仓库。

2025-02-15 19:39:14 651

原创 java项目启动脚本

这段代码是一个实用的脚本片段,用于动态设置JAVA_HOME环境变量,确保其指向一个有效的Java安装路径。它通过依次尝试多个可能的路径,避免了因JAVA_HOME设置错误而导致的问题。检查JAVA_HOME是否已设置。如果未设置,则根据操作系统类型(macOS或非macOS)尝试自动查找Java的安装路径。如果找到有效的路径,则设置JAVA_HOME。如果未找到有效的路径,则提示用户手动设置JAVA_HOME。最终设置JAVA变量为,以便后续使用。

2025-02-05 21:27:42 866

原创 使用JdbcTemplate 结合预编译预计批量插入数据

它通过使用预编译语句(PreparedStatement)和 Spring 的 JdbcTemplate 来实现高效的数据插入操作。saveAll 方法通过合理利用预编译语句和 Spring 的 JdbcTemplate,高效且准确地实现了将一批 LoginLog 类型的数据批量插入到数据库表中的功能,同时还处理了时间戳相关的设置以及异常情况。这种批量插入的方式可以提高数据插入的效率,减少数据库服务器编译 SQL 语句的次数,从而提升整个应用程序与数据库交互的性能。

2024-11-30 22:17:18 1135

原创 java 将 System.out 输出到 slf4j中

【代码】java 将 System.out 输出到 slf4j中。

2024-11-28 16:16:29 215

原创 策略模式-实现方式三

【代码】策略模式-实现方式三。

2024-10-13 21:00:03 373

原创 log4j2实际项目中使用

添加log4j2.component.properties配置文件。

2024-10-13 19:53:37 807

原创 nacos get changed dataId error, code: 403

由于nacosserver开启了权限验证,项目启动时出现异常。

2024-07-24 19:05:36 1297

原创 JVM监控及诊断工具-命令行篇--jcmd命令介绍

在JDK 1.7以后,新增了一个命令行工具jcmd。它是一个多功能的工具,可以用来实现前面除了jstat之外所有命令的功能。jcmd拥有jmap的大部分功能,并且在Oracle的官方网站上也推荐使用jcmd命令代jmap命令。

2024-07-20 21:00:44 454

原创 JVM监控及诊断工具-命令行篇-jstack命令介绍

这些都是导致线程长时间停顿的常见原因。当线程出现停顿时,就可以用jstack显示各个线程调用的堆栈情况。在thread dump中,要留意下面几种状态。

2024-07-20 20:44:53 670

原创 JVM监控及诊断工具-命令行篇-jmap命令介绍

举个例子,假设在编译生成的机器码中,某些对象的生命周期在两个安全点之间,那么:live选项将无法探知到这些对象。jmap(JVM Memory Map):作用一方面是获取dump文件(堆转储快照文件,二进制文件),它还可以获取目标Java进程的内存相关信息,包括Java堆各区域的使用情况、堆中对象的统计信息、类加载信息等。由于jmap将访问堆中的所有对象,为了保证在此过程中不被应用线程干扰,jmap需要借助安全点机制,让所有线程停留在不改变堆中数据的状态。生成Java堆转储快照:dump文件。

2024-07-20 09:59:36 1198

原创 redis server response timeout(3000ms) occurred after 3 retry attempts异常分析

查看redisson配置,调大参数PingConnectionInterval。

2024-07-18 21:41:17 1012

原创 JVM监控及诊断工具-命令行篇--jinfo命令介绍

在很多情况下,Java应用程序不会指定所有的Java虚拟机参数。而此时,开发人员可能不知道某一个具体的Java虚拟机参数的默认值。在这种情况下,可能需要通过查找文档获取某个参数的默认值。但有了jinfo工具,开发人员可以很方便地找到Java虚拟机参数的当前值。jinfo不仅可以查看运行时某一个Java虚拟机参数的实际取值,甚至可以在运行时修改部分参数,并使之立即生效。但是,并非所有参数都支持动态修改。可以查看由System.getProperties()取得的参数。其实,这个修改能力是极其有限的。

2024-07-15 20:22:35 1075

原创 JVM监控及诊断工具-命令行篇-jstat命令介绍

gcnew。

2024-07-11 22:07:52 902

原创 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure异常处理

【代码】com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure异常处理。

2024-07-02 20:42:01 1312

原创 rocketmq实现多数据源配置

我们可以基于ExtRocketMQTemplateConfiguration 扩展出其他的rocketmq 数据源,相当于注入多个rocketTemplate, 只是nameServer 和 beanName 不同。只需要在发送消息的类中通过@Resource注入进来,并通过name属性来指定即可使用。下面我有具体的使用案例。在实际项目中我们可能会遇到在springboot项目中使用多个mq数据源,那我们该如何配置呢?注解,并配置nameServer即可。yml配置中添加非标mq的配置参数。

2024-07-02 20:23:41 844

原创 Docker以挂载方式安装RocketMQ

在 Docker 中安装和使用 RocketMQ 有多种方式,其中一种方式就是通过挂载本地文件的方式安装 RocketMQ。挂载的方式可以避免重启Docker镜像后,原配置丢失的问题。现在,可以使用浏览器访问 http://[your_server_ip]:9999/来访问控制台。第一次安装RocketMQ时难免踩坑,但是请保持平和心态对待,不要担心,自己遇到的问题,别人一定遇到过,肯定有解决方案。如果你还没有安装 Docker,请先安装。创建一个新的容器并指定 RocketMQ 的镜像。

2024-06-04 22:03:22 964

原创 SpringBoot整合RocketMQ使用详解

/发送普通同步消息-Object//发送普通同步消息-Message> message)//发送批量普通同步消息//发送普通同步消息-Object,并设置发送超时时间//发送普通同步消息-Message,并设置发送超时时间//发送批量普通同步消息,并设置发送超时时间//发送普通同步延迟消息,并设置超时/*** 批量消息*/@Testlog.info("批量消息");//发送普通异步消息-Object//发送普通异步消息-Message。

2024-05-06 20:41:50 2596 2

转载 SpringCloudFeign引入feign-httpclient导致的坑

引入新技术栈时,一定要阅读相关文档了解组件的配置化参数信息(默认值往往在遇到高并发场景无法满足),特别是对于基于springboot构建的应用,往往由于自动化的配置,导致忽略了重要参数的指定。

2024-04-16 20:45:48 353

原创 spring cloud sleuth入门使用

详细介绍Spring Cloud 系列之 Sleuth 链路追踪(一)Spring Cloud Sleuth 为 Spring Cloud 实现了分布式跟踪解决方案。兼容 Zipkin,HTrace 和其他基于日志的追踪系统,例如 ELK(Elasticsearch 、Logstash、 Kibana)。链路追踪:通过 Sleuth 可以很清楚的看出一个请求都经过了那些服务,可以很方便的理清服务间的调用关系等。性能分析。

2024-03-10 13:36:53 2002 1

原创 jar手动上传到Nexus私服

在maven项目中我们可以通过相关配置可以将项目打包成jar,然后deploy上传到私服中。要是别人提供的第三方jar,我们该如何上传到nexus私服中呢?

2024-01-25 19:13:25 1952

原创 Nacos的统一配置管理

nacos配置中心使用介绍

2024-01-10 17:39:07 1714

原创 ideal一键部署SpringBoot项目jar包到服务器

我们在开发环境部署项目一般通过ideal将项目打包成jar包,然后连接linux服务器,将jar手动上传到服务中,重启服务。每次总是循环这一系列的操作,这都是一些固定的流水线操作,对于流水线型的操作最适合交给程序去做,我们只需要把那些个必要变量(路径/端口)抽离出来变成外部配置文件,这样我们就完全可以实现自定义流水线操作。

2023-11-07 17:02:28 2667

原创 使用arthas出现UnsupportedOperationException: class redefinition failed: attempted to change the scheam

我一问开发组长,果然在测试环境上开启了Skyworking,于是关闭Skyworking,再次使用trace追踪controller方法,不再出现异常。由于才接收项目,我也不知道到它是被什么修改了,一脸茫然。于是网上找出现这个异常信息,通过arthas的jad命令反编译代码发现,确实被修改了。经过一顿操作,发现别人也出现过和我一样的问题,是因为。

2023-10-26 15:19:35 2821

转载 arthas使用介绍

一、Attach 黏附一个进程1.1 准备代码1.2 启动Demo1.3 启动arthas1.4 通过浏览器连接arthas二、常用命令2.1 dashboard仪表盘2.2 cls 清屏2.3 thread 线程2.4 jad 反编译类2.5 watch 监视2.6 退出arthas三、基础命令3.1 help3.2 cat3.3 grep3.4 pwd3.6 reset3.8 quit3.9 stop四、JVM相关命令详解Arthas教程 - 命令篇 (二)Arthas使用教程(8大分类)

2023-10-23 20:13:36 630

原创 ideal远程Debug部署在服务器上的服务详解

在开发的时候我们通常在本地代码上debug程序,但是服务部署到了开发环境服务器上,我们也想调试远程服务,那么怎么样才能调试远程服务像调试本地代码一样方便呢?ideal支持远程调试代码,只需要简单的配置即可。

2023-10-13 16:52:58 1267

原创 调用feign接口时手动设置请求头信息

我们在provider服务有些参数是从请求头中获取的,但是consumer服务在调用feign接口时,本身接口请求头中并没有provider需要的的参数;此时想手动的将一些参数设置到feign接口!如果我们在@RequestHeader指定了请求头参数名称,那么取的时候也需要使用对应的名称。该方式是在方法执行前,先获取需要的参数,后将取出来的值作为参数传递到待执行的方法中。

2023-09-20 15:14:53 3586

原创 使用HandlerInterceptor 中注入其他service时为null分析及解决

在拦截器配置中将拦截器提前暴露,交给spring容器管理。2、拦截器添加@Component,交给容器管理。

2023-09-15 18:00:04 1112 1

原创 The dependencies of some of the beans in the application context form a cycle异常分析及解决

改成。

2023-09-15 17:58:06 4676

原创 使用feign时提供者从request中获取不到参数值解决方法

由于在consumer中子链路调用feign接口,request不支持继承。在调用feign接口时原有的request已经不会跟随到新的请求中,所以provider中request是空的,获取不到参数值。在开发中,A项目需要在后端调用B项目的feign接口。我们知道feign接口是不支持HttpServletRequest作为参数的,所以feign接口如下。request中的值手动设置到feign请求的http调用上。

2023-09-08 17:34:04 1045

原创 maven配置nexus私服详解

前提是已经搭建好了私服,我们需要在本地maven中配置相关参数,连接私服作为仓库;

2023-09-06 18:20:47 3411

原创 Feign在实际项目中使用详解

我们在平时学习中简单知道调用feign接口或者做服务降级;但是在企业级项目中使用feign时会面临以下几个问题: 1. Feign客户端应该如何提供? 2. Feign调用的接口要不要进行包装? 3. Feign如何抓取业务生产端的业务异常?

2023-08-27 21:04:11 551

原创 Dubbo学习

Dubbo【 Dubbo概念(什么是分布式系统、什么是RPC、核心组件、Zookeeper注册中心 )】(一)-全面详解(学习总结—从入门到深化)Dubbo【 Dubbo入门案例(服务消费者配置、服务消费者代码编写、IDEA开启Dashboard 、序列化协议安全、地址缓存)】(二)-全面详解(学习总结—从入门到深化)Dubbo【Dubbo高级特性(重试机制、多版本 、负载均衡 、集群容错 、服务降级、服务限流原理 、结果缓存) 】(三)-全面详解(学习总结—从入门到深化)

2023-07-23 15:39:32 229

原创 ThreadLocal学习路径

1、ThreadLocal 超强图解,这次终于懂了~(深入介绍)2、保姆级教学,22张图揭开ThreadLocal(总结性介绍)3、多图深入分析ThreadLocal原理(源码方式介绍)4、线程本地存储 ThreadLocal(一般接介绍)

2023-07-22 14:54:52 164

转载 Java异常处理和最佳实践(含案例分析)

最近在代码CR的时候发现一些值得注意的问题,特别是在对Java异常处理的时候,比如有的同学对每个方法都进行 try-catch,在进行 IO 操作时忘记在 finally 块中关闭连接资源等等问题。回想自己对 java 的异常处理也不是特别清楚,看了一些异常处理的规范,并没有进行系统的学习,所以为了对 Java 异常处理机制有更深入的了解,我查阅了一些资料将自己的学习内容记录下来,希望对有同样困惑的同学提供一些帮助。

2023-07-22 14:13:01 657

转载 @Retryable(spring的重试机制)

在实际工作中,重处理是一个非常常见的场景,比如:发送消息失败。调用远程服务失败。争抢锁失败。这些错误可能是因为网络波动造成的,等待过后重处理就能成功。通常来说,会用try/catch,while循环之类的语法来进行重处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码。然而spring-retry却可以通过注解,在不入侵原有业务逻辑代码的方式下,优雅的实现重处理功能。

2023-07-17 09:57:40 1014

GetTree.zip

学习使用

2021-07-15

xxl-job-admin.jar

xxl-job-admin.jar运行文件

2021-04-17

空空如也

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

TA关注的人

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