自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ReflectionTestUtils.invokeMethod方法

ReflectionTestUtils.invokeMethod是 Spring Test 框架中的一个方法,主要用于在测试环境中通过反射机制调用私有或受保护的方法,方便对这些方法进行单独测试。

2025-01-05 11:40:06 411

原创 Reactor测试框架之StepVerifier

在响应式编程中,Reactor框架提供了StepVerifier测试类,用于对响应式序列进行断言和验证。StepVerifier主要用于对Publisher发出的元素序列进行逐步的、精确的验证。

2025-01-05 10:48:09 782

原创 linux之rpm2cpio命令

rpm2cpio命令是linux系统提供的一个用于转换rpm包的工具。它将rpm软件包中的内容提取出来,转换为 cpio 格式的归档文件,以便用户能够方便地查看和提取软件包中的文件,或者进行其他操作。

2025-01-04 11:14:15 324

原创 Arthas问题记录

原因:Java 进程操作用户和执行 java -jar arthas-boot.jar ${pid} 操作用户不是同一个用户。命令:watch -v -n 3。问题描述:执行 java -jar arthas-boot.jar ${pid}报错。原因:watch命令加了-v选项,但方法没有对应的v属性。解决方案:却换到进程启动用户账号,再启动arthas。问题描述:执行watch命令时报错。

2024-09-17 12:27:31 719

原创 curl常见问题记录

解决方案:https改为http。解决方案:更新curl版本。解决方案:关闭证书验证。

2024-09-17 12:26:10 1698

原创 shell脚本引号区别

反引号:反引号之间一般为命令,会显示命令执行的结果。单引号:在单引号之间的内容不会解析,会原样输出;双引号:会被解析,与不加任何引号效果一样;

2024-09-17 12:23:21 365

原创 Git随记

Git随记。

2024-09-05 16:15:26 224 1

原创 Spring响应式编程之Reactor操作符

操作符并不是响应式流规范的一部分,但为了改进响应式代码的可读性并降低开发成本,Reactor 库中的 API 提供了一组丰富的操作符,这些操作符为响应式流规范提供了最大的附加值。下面介绍一些常用的操作符。flatmap:将Mono中的值或Flux中的每个元素转换为另一个Mono或另一个Publisher,并展平结果;collectList: 将Flux中的所有元素收集到一个List中,返回Mono;window:将Flux中的元素分组到Flux中,每组包含指定数量的元素;

2024-06-23 21:11:53 1792 3

原创 Spring响应式编程之Reactor核心组件

Reactor 框架提供了两个核心组件来发布数据,分别是 Flux 和 Mono 组件。两者都是实现Publisher接口的高级抽象,可以说是应用程序开发过程中最基本的编程对象。二者都可以被onComplete信号或者onError信号所终止。

2024-06-23 21:09:40 1117

原创 Spring响应式编程之Reactor核心接口

Subscription代表一种订阅上下文对象,用于管理Publisher和Subscriber之间的订阅关系。Subscription是确保发布者和订阅者针对数据处理速度达成一种动态平衡的基础,也是流量控制中实现背压机制的关键。Processo接口既可以是Publisher也可以是Subscriber,用于对数据流进行处理和转换。核心接口包括:Publisher、Subscriber、Subscription 和 Processor

2024-06-23 21:08:09 1000

原创 Spring响应式编程之Reactor背压机制

在生产-发布模式下,由于事件处理平台大小有限制,生产者和消费者存在处理速度的差异,生产者不能持续不断的发布数据并推送,即流量控制问题。适用于消费者处理能力波动较大,需要动态调整处理速率的场景。背压机制简单理解,通过一种反馈机制来告知生产者当前消费者的处理能力,生产者动态调整数据生成的速率,确保消费者能够处理生产者产生的数据。丢弃(dropping):丢弃超出消费者处理能力的数据,只保留最新的数据或最重要的数据。最新(lastest):只保留最新的数据,丢弃旧的数据,确保消费者始终处理最新的数据。

2024-06-23 21:07:14 670

原创 Spring响应式编程之Reactor介绍

响应式编程(Reactive Programming)是一种面向数据流和变化传播的编程范式。Java中的Reactor是一个用于响应式编程的库,它建立在Reactive Streams规范之上,旨在帮助开发者构建非阻塞的、高效的、具有弹性的应用程序。

2024-06-23 21:06:15 1519

原创 Linux之sed命令(包含MacOS使用方法)

Linux下的sed命令是一种流编辑器,用于在命令行中对文本进行处理,常见的操作如:添加、修改、删除、追加等。当所用系统为MacOS时,直接使用sed会出现此类报错,处理方法如下:解决方案1:sed命令改写 --> 添加一个空串改写为解决方案2:调整mac下的sed命令 --> 安装gnu-sed本人建议使用第二种方式解决,一劳永逸。extra:在使用sed新增一行时会使用到,macOS会把反斜杠解析为命令结束字符,后面不允许携带新字符,导致报错,只能通过把命令分割成两行内容。

2024-05-01 10:00:47 925

原创 MongoDB随记

MongoDB是一个分布式文件存储的数据库,介于关系数据库和非关系数据库之间,支持的数据结构类型为BSON,类似于JSON。MongoDB中的记录是一个document,由字段和值对组成的数据结构。MongoDB适合在数据量大,读写频繁,对事务性要求不高的场景应用。分片(sharding)是 MongoDB 用来将大型集合分割到不同服务器(或者说一个集群)上所采用的方法。

2023-11-19 14:26:16 767

原创 Curl命令

curl(Command Line URL Viewer),一种常用的命令行工具,用来请求Web服务器,发送网络请求。它支持多种传输协议,包括HTTP、HTTPS、SCP、FTP、TELNET等,可以使用其进行发送请求,上传/下载文件,且支持aksk身份验证,代理支持等。

2023-11-18 14:14:51 397

原创 Shell之wc命令

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。

2023-10-22 16:16:59 870

原创 Java中的过滤器Filter和拦截器Interceptor

过滤器和拦截器在Java Web应用程序中,都用于请求处理过程中执行特定的操作。过滤器:从一堆东西中筛选出符合要求的,例如过滤敏感信息;拦截器:干预到一个请求当中,不符合可以直接终止,例如鉴权,qos设置。

2023-08-19 15:49:15 296

原创 python中json库的load、loads、dump、dumps方法

json.load()和json.loads()方法都是将json格式的数据转换成python对象,通常是字典、列表类型;json.dump()和json.dumps()方法则与之相对,将python对象进行json格式的编码。

2023-08-19 09:58:53 1253

原创 JVM之jstat

jstat对程序的资源和性能进行实时的监控,用于查看heap size和垃圾回收情况。每隔1000ms打印10次gc信息。

2023-04-05 11:38:54 543

原创 JVM之jmap

jmap -F -dump:format=b,file= :如果进程没有响应,这个命令会强制生成一个堆内存快照,即使进程正在执行垃圾回收。生成一个堆内存快照。展示进程中所有等待被调用的finalize()方法的对象信息,包括对象的数量和占用内存等。jmap用于生成Java进程的内存快照(dump文件),查看进程堆内存的使用情况。展示Java Heap中对象的统计信息,包括:对象的数量,占用内存大小,类的全类名。

2023-04-05 11:33:29 495

原创 JVM之jstack

jstack是JVM当前时刻的线程快照,是JVM当前每一条线程正在执行的堆栈信息的集合。通过jstack命令可以获取Java应用程序运行时线程的状态、调用栈、锁状态等信息,以此来定位线程出现长时间停顿的原因,如线程死锁,线程阻塞等。信息中包含死锁具体位置和原因,便于定位问题。可以发现可能存在问题的代码行。

2023-04-05 11:26:37 276

原创 PowerMock的简单使用

在做ut时,发现要测试的方法会引用很多外部依赖的对象,就可能需要用Mock工具来模拟这些外部依赖的对象,来完成ut。PowerMock在EasyMock、Mockito等的基础上,增加了对static、final、private等方法的mock。PowerMock有两个十分重要的注解:@Runwith、@prepareForTest

2022-12-17 17:10:13 2654

原创 Linux之iptables命令

5、在配置IPTABLES白名单时,往往会将链的默认策略设置为ACCEPT,通过在链的最后设置REJECT规则实现白名单机制,而不是将链的默认策略设置为DROP,如果将链的默认策略设置为DROP,当链中的规则被清空时,管理员的请求也将会被DROP掉。iptables:运行在用户空间的应用软件,命令行工具,通过其设置规则,来控制netfilter模块,从而实现网络数据包的管理,从而实现防火墙的配置。在没有顺序要求的情况下,不同类别的规则,被匹配次数多、匹配频率高的规则应放在前面。

2022-10-31 18:51:31 1122

原创 Java之PriorityQueue的用法

方法作用add();队尾插入元素,调整堆结构,失败时抛异常offer();队尾插入元素,调整堆结构,失败时抛falseremove();根据value值删除指定元素,调整堆结构,失败时抛异常poll();删除队头元素,调整堆结构,失败时抛nullelement();获取队列头元素peek();获取队列头元素clear();清空队列size();获取队列元素个数contains();判断队列中是否包含指定元素isEmpty();判断队列是否为空。

2022-10-23 12:01:41 6607

原创 Java之BigInteger的用法

BigInteger在Java中用于操作大整数,当一个数超过了Long表示的最大范围时就可以考虑使用BigInteger来操作。BigInteger的使用方法很多,也可以用于进制转换的一些操作,本文记录了一些BigInteger的常用方法。

2022-10-22 11:47:14 3566

原创 Linux可视化管理

Webmin是功能强大的基于Web的Unix/Linux系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理操作。除了各版本的Linux外还可用于:AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等系统。下载地址:http://download.webmin.com/download/yum/也可以用wget命令进行下载安装:重置密码 ``/usr/libexec/webmin/changepass.pl /etc/webmin root test`roo

2022-06-07 18:42:06 442

原创 Linux系统之备份与恢复

Linux的备份和恢复一般有两种方式:(1)把需要的文件/分区用tar打包,下次需要恢复的时候,再解压开覆盖即可(2)使用dump和restore命令若在安装dump和restore中遇到为 repo ‘appstream’ 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist错误,可以尝试如下方法进行解决:方法一:运行如下命令再重新安装包,运行如下:方法二:删除yun.repos.d下所有东西,进行更换3、使用dum

2022-06-07 18:39:29 3015

原创 Linux之日志管理

日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。日志就是用来记录重大事件的工具。系统日志文件的保存位置:cd /var/log系统常用日志:查询Linux中的rsyslogd服务是否启动:ps aux | grep “rsyslog” | grep -v “grep”-v:表示过滤不包含此项的内容查询rsyslogd服务的自启动状态:systemctl list-unit-files | grep rsyslo

2022-06-07 12:20:58 721

原创 Linux之Shell编程

Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。(3)脚本的常用执行方式输入脚本的绝对路径/相对路径说明:首先赋予脚本的x权限,再执行脚本示例:;sh+脚本说明:不用赋予脚本x权限, 直接执行示例:输出变量需要加$示例:定义变量A:A=1撤销变量A:unset A声明静态变量B=2:readonly B=2I、规则II、将命令的返回值赋给变量示例:配置jdk环境变量补充:Shell脚本的多

2022-06-04 21:19:55 998

原创 Linux之JavaEE开发环境部署

在Linux下进行JavaEE开发,需要安装jdk、tomcat、mysql、IDEA。对应的安装包提供:百度网盘链接: https://pan.baidu.com/s/12V1DCqykb2guDYOP2wEbUg提取码: aigvmkdir /opt/jdk上传对应的jdk安装包到/opt/jdk下cd /opt/jdk解压:tar -zxvf jdk-8u261-linux-x64.tar.gzmkdir /usr/local/javamv /opt/jdk/jdk1.8.0_261 /usr/l

2022-06-04 10:16:27 270

原创 Linux基础知识

Linux的基础知识,包括安装、远程登录、用户管理、实用指令、组管理和权限管理、定时任务调度、磁盘分区和挂载、网络配置、进程管理、RPM和YUM

2022-06-02 21:12:05 265

原创 MyBatis的相关知识

目录MyBatis一、简介1、介绍2、MyBatis下载3、和其他持久化层技术对比二、搭建MyBatis1、创建一个空的maven工程2、设置打包方式为jar3、引入相关依赖4、创建MyBatis的核心配置文件5、创建mapper接口6、创建MyBatis的映射文件7、通过Junit测试8、加入log4j日志功能(1)加入依赖(2)加入log4j的配置文件三、核心配置文件详解四、MyBatis获取参数值的两种方式(重点)1、mapper接口方法的参数为单个字面量类型2、mapper接口方法的参数为多个字面量

2022-05-23 14:36:14 326

原创 SpringMVC的相关知识

目录SpringMVC一、SpringMVC简介1、概述2、特点二、入门案例1、创建一个webapp项目2、导入相关包3、配置web.xml文件4、创建请求控制器5、配置SpringMVC配置文件6、测试7、总结三、@RequestMapping注解1、功能2、位置3、value属性4、method属性5、params属性(了解)6、headers属性(了解)7、SpringMVC支持ant风格(模糊匹配)的路径8、SpringMVC支持路径中的占位符四、SpringMVC获取请求参数1、通过Servlet

2022-05-19 11:51:15 2078

原创 JavaWeb的相关知识

本篇文章参考【狂神说Java】,记录博主跟随狂神学习JavaWeb的过程。目录JavaWeb一、Tomcat1、下载tomcat2、启动tomcat3、发布一个web网站补充二、HTTP1、HTTP请求(1)请求行(2)消息头(Request Headers)2、HTTP响应(1)响应体(Response Headers)(2)响应状态码补充三、Maven1、在IDEA中配置Maven2、在IDEA中配置Tomcat3、pom.xml4、解决可能遇到的问题四、Servlet1、简介2、编写一个Serv.

2022-05-11 17:34:48 1239

原创 Mac启动Tomcat

很多使用Mac的小伙伴下载好Tomcat,并不知道如何打开Tomcat,本篇文章将介绍如何开启Tomcat。1、在访达中找到下载好的Tomcat文件夹2、打开终端,使用命令进入该文件夹cd apache-tomcat-10.0.203、进入该文件夹下的bin文件夹cd bin此时可以使用ls查看该文件夹下的内容。4、bin文件夹下的startup.sh和shutdown.sh文件分别对应开启和关闭开启Tomcat对应的命令./startup.sh显示Tomcat开启成

2022-05-07 17:03:14 5958 3

原创 Spring的相关知识

Spring一、概述二、入门案例三、IOC容器1、IOC底层原理(1)什么是IOC(2)IOC底层原理(3)图解2、IOC接口3、IOC操作(Bean管理)概述4、基于xml方式的Bean管理(1)基于xml方式创建对象(2)基于xml方式注入属性DI:依赖注入(注入属性)(3)基于xml方式注入空值和特殊符号(4)基于xml方式注入外部bean(5)基于xml方式注入内部bean和级联赋值(6)基于xml方式注入集合属性(7)基于xml方式注入集合属性(2)5、Bean管理之FactoryBean6、Be

2022-05-04 20:12:10 1009

原创 Maven的简单说明

目录一、Maven二、Maven仓库1、仓库配置2、仓库优先级问题3、JDK的配置4、Maven工程类型5、Maven目录结构三、Maven工程关系1、依赖关系(1)依赖的传递性(2)原则(3)排除依赖(4)依赖范围2、继承关系3、聚合关系四、常见插件1、编译器插件2、资源拷贝插件3、tomcat插件五、Maven常见命令一、MavenMaven是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar包,从而极大提升开发效率。二、Maven仓库Mav

2022-04-28 14:43:18 470

原创 Mac M1 Maven安装与配置

1、官网下载Maven官网链接:点这里!2、下载完毕对其进行解压,放到指定目录下。例如:我将其放在/Users/minh/Maven当中3、配置变量(1)调出终端,输入vim ~/.bash_profile进入配置;(2)按i进入编辑模式,输入如下内容,按esc退出编辑模式,输入“:wq”推出;export M2_HOME=/Users/minh/Maven/apache-maven-3.8.5export PATH=$PATH:$M2_HOME/bin其中第一行,“=”之后为你下

2022-04-28 10:09:20 3277

原创 Git的简单使用

目录Git1、结构2、代码托管中心(1)团队内部协作(2)跨团队协作3、初始化本地仓库4、Git常用命令5、分支6、本地库和远程库交互7、IDEA中操作Git1、本地库的初始化操作2、推送和拉取资源3、克隆资源到本地4、解决冲突和避免冲突Git分布式版本控制系统。1、结构工作区、暂存区、本地库工作区–>暂存区:git add暂存区->本地库:git commit2、代码托管中心本地库帮我们进行版本控制,而代码托管中心帮我摁维护远程库。本地库和远程库的交互方式:(1)团队

2022-04-27 23:30:07 216

原创 前端相关知识

目录一、网络传输的三大基石二、HTML(超文本标记语言)1、标准结构2、编辑器3、HTML标签的使用三、框架1、内嵌框架2、框架集合四、form表单1、表单元素2、H5新增type类型3、H5新增属性五、CSS1、CSS书写样式2、选择器3、浮动消除浮动影响4、定位5、盒子模型一、网络传输的三大基石三大基石:URL、HTTP协议、HTMLURL:在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(统一资源定位符),它是WWW的统一资源定位标识,就是指网络地址。HTTP协议:HTT

2022-04-25 17:29:05 609

空空如也

空空如也

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

TA关注的人

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