自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 问答 (1)
  • 收藏
  • 关注

原创 JMeter 基本使用【Windows Jmeter GUI 图形界面】

可以一处定义,多处使用应用方式${xxx},在接口中使用,也可当参数传递。

2024-05-24 11:23:53 746 1

原创 【计算机网络原理】第四章:网络层

基于内存交换:性能最低,路由器价格最便宜基于网络交换:性能最高,路由器价格昂贵。

2024-05-21 22:46:00 1565

原创 API 接口AOP、Redis限流【固定窗口、滑动窗口、漏桶、令牌桶】

我们使用Spring中的RedisTemplate的原子整型来实现该功能,在接口第一次触发时,设置增加键值,并将键的有效期设置为单位时间,后续接口访问调用getAndIncrement()方法获取当前值,并将redis中值增加1,然后判断当前值是否超过访问阈值,如果超过则直接丢弃请求。漏桶算法刚好和令牌桶算法相逆,漏桶算法为以恒定的速度从桶中漏出水滴,而我们调用接口为向桶中加水滴,当桶中容量未满时,则表示接口调用量未达到阈值,放行,若桶中容量已满,无法增加水滴进入,则表示拦截请求。

2024-05-21 17:20:00 924

原创 【计算机系统结构】知识点汇总

向上(下)兼容:指的是按某档机器编制的软件,不加修改就能运行于比它高(低)档的机器上。向前(后)兼容:指的是按某个时期投入市场的该型号机器上编制的软件,不加修改就能运行于在它前(后)投入市场的机器上。

2024-04-17 15:55:53 970

原创 【计算机网络原理】第三章:传输层

UDP提供差错检测,但是它没有差错恢复能力,只是简单地丢弃差错报文段,或者将受损的报文段交给应用程序并给出警告,由应用程序处理出错报文。

2024-04-07 22:26:25 896

原创 【计算机网络原理】第二章:网络应用

无论是递归解析还是迭代解析。只要本地域名服务器不能直接响应解析结果,都需要从根域名服务器开始查询。超文本传输协议(Hyper Text Transfer Protocol,HTTP )Web应用的应用层协议,定义浏览器如何向Web服务器发送请求,以及Web服务器如何进行响应。版本:HTTP/1.0和HTTP/1.1。

2024-04-07 22:11:07 883

原创 【计算机网络原理】第一章:计算机网络概述

计算机网络是互连的、自治的计算机的集合网络通信实体之间在数据交换过程中需要遵循的规则或约定。例如:HTTP,TCP、IP等;

2024-04-07 17:52:20 1414

原创 行锁升级表锁如何避免?表锁后如何排查?

InnoDB引擎3种行锁算法(Record Lock、Gap Lock、Next-key Lock)都是锁定的索引。当触发X锁(写锁)的where条件 无索引 或 索引失效 时,查询的方式就变成全表扫描,也就是扫描所有的聚集索引记录。

2024-04-03 17:14:00 1432

原创 Python 简单使用 RabbitMQ

执行后我们进入rabbitMQ网页端后台查看pythone.test 队列已经被创建。并且我们执行了三次,此处产生3条数据未被消费,还被压在队列中。我们执行3次product方法,生产3条数据到 队列。再查看rabbitMQ网页后台,发现消息已经被正常消费。再执行consumer方法,对队列内数据进行消费。我们改造一下,将推送消息 放到方法中。

2024-04-02 15:42:29 1658

原创 【计算机系统结构】第八章:数据流计算机和规约机

(1)数据驱动的数据流方式指的是,只要一条或一组指令所要求的操作数全部准备就绪,就可以立即激发相应的指令或指令组执行。执行结果的输出将送往等待这一数据的下一条或下一组指令。(2)控制流方式与数据流方式的比较如下:控制驱动的控制流方式的特点是:通过访问共享存储单元让数据在指令之间传递;指令执行的顺序性隐含于控制流中,但却可以显式地使用专门的控制操作符来实现并行处理:指令执行的顺序受程序计数器控制,也就是受控制令牌所支配的。数据驱动的数据流方式则不同,它没有通常的共享变量的概念,即没有共享存储数据的概念;

2024-04-01 22:31:20 1160 2

原创 【计算机系统结构】第七章:多处理机

多处理机是指有两台以上的处理机,共享I/0子系统,机间经共享主存或高速通信网络通信,在统一操作系统控制下,协同求解大而复杂问题的计算机系统。使用多处理机的第一个目的是通过多台处理机对多个作业、任务进行并行执行来提高解题速度,从而提高系统的整体性能;第二个目的是使用冗余的多个处理机通过重新组织来提高系统的可靠性、适应性和可用性。由于应用的目的和结构不同,因此,多处理机可以有同构型、异构型和分布型3种。

2024-04-01 22:22:10 1317

原创 【计算机系统结构】第六章:向量处理机

①向量处理机是有向量数据表示的处理机,分向量流水处理机和阵列处理机两类。向量流水处理机是以时间重叠途径开发的,而阵列处理机是以资源重复途径开发的。②所谓V,冲突,指的是并行工作的各向量指令的源向量或结果向量使用了相同的V{。③CRAY-1向量处理的一个显著特点是只要不出现功能部件使用冲突和源向量寄存器使用冲突,通过链接机构可使有数据相关的向量指令仍能大部分时间并行执行。④链接技术是提高计算机整体运算速度的一个非常重要的措施。

2024-04-01 22:12:46 1549

原创 【计算机系统结构】第五章:标量处理机

流水与重叠在概念上没有什么差别,流水可以看成是重叠的引申。二者的差别只在于“一次重叠”是把一条指令的解释分为两个子过程,而流水是分为更多个子过程。前者可同时解释两条指令;后者可同时解释4条指令。显然,如果能把一条指令的解释分解成时间相等的m个子过程,则每隔△t=T/m就可以处理一条指令。因此,流水的最大吞吐率取决于子过程的经过时间At,△t越小,流水线的最大吞吐率就越高。流水的最大吞吐率是指流水线满负荷每隔△t流出一个结果时所达到的吞吐率。实际吞吐率总是低于其最大吞吐率。

2024-04-01 22:04:17 1271

原创 【计算机系统结构】第四章:存储体系

存储体系(即存储层次)是让构成存储系统的几种不同的存储器(M,~M,)之间,配上辅助软、硬件或辅助硬件,使之从应用程序员角度来看,它们在逻辑上是一个整体。让存储层次的等效访问速度是接近于M,的,容量是M,的,每位价格是接近于M,的。基本的二级存储体系是虚拟存储器和Cache存储器,这是存储体系的两个不同的分支。。在主存和辅存之间,增设辅助的软、硬件设备,让它们构成一个整体,所以也称为主存一辅存存储层次,如图4-1所示。。

2024-04-01 21:51:11 995

原创 SpringBoot 获取 SFTP文件服务器文件【一看就会】

springBoot 整合 SFTP,创建连接、关闭连接、判断是否存在、创建文件夹、删除文件夹、删除文件、文件上传、读取文件、测试功能...

2024-04-01 10:47:58 704

原创 【计算机系统结构】第三章:存储、中断、总线与IO系统

1、对存储系统的基本要求是和。2、存储器容量SM=w *l * m。其中,W为存储体的字长(单位是位或字节);I为存储体的字数;m为并行工作的存储体数。3、速度可用访问时间TA、存储周期Tw和频宽(也称带宽)Bm描述。其中,Tg是存储器从接收访存读申请至信息被读到数据总线上的时间,是处理机启动访存后必须等待的时间、TM是连续启动一个存储体所需要的间隔时间,它一般总比Tg大;

2024-04-01 10:35:33 1168

原创 Locust - API压测

在Locust测试框架中,测试场景是采用纯Python脚本进行描述的,对于最常见的HTTP(S)协议的系统,。在模拟有效并发方面,摒弃了进程和线程,因此即使是单台压力机也能产生数千并发请求数;再加上对分布式运行的支持,理论上来说,Locust能在使用较少压力机的前提下支持极高并发数的测试。1.开源、使用python开发、基于事件、支持分布式、提供WEB UI、支持结果导出;2.使用python第三方库gevent提供的非阻塞IO和协程Coroutine来实现网络层的并发请求;

2024-03-14 14:22:33 998

原创 【计算机系统结构】第二章:数据表示、寻址方式与指令系统

多数计算机都将主存、寄存器、堆栈分类编址,分别有面向主存、面向寄存器和面向堆栈的寻址方式。

2024-03-14 10:06:02 1090

原创 MurmurHash算法

MurmurHash:(multiply and rotate) and (multiply and rotate) Hash,乘法和旋转的hash 算法。

2024-02-28 15:30:29 1757

原创 【计算机系统结构】第一章:概论

计算机系统结构也称计算机系统的体系结构,它只是系统结构中的一部分,指的是传统机器语言机器级的系统结构。其界面之上包括操作系统级、汇编语言级、高级语言级、和应用语言级中所有的软件功能,该界面之下包括所有硬件和固件的功能。因此,它是软件和硬件/固件的交界面,是机器语言、汇编语言程序设计者或编译程序设计者看到的机器物理系统的抽象。计算机组成(Computer Organization)指的是计算机系统结构的逻辑实现,包括机器级内部的数据流和控制流的组成以及逻辑设计等。

2024-02-28 13:50:22 1210

原创 长链接转短链接

最典型的就是微博和短信,如果一个参数很多路径很深的长链接发出去的话,基本上你这个微博或短信就没法再添加其他文字信息了。另外用短链在内容排版上也更美观,不想看到长长的一串各种参数的url。

2024-01-22 17:46:26 2660

原创 将多张图片进行合并(水平,垂直,重叠),背景色控制,透明度控制

对多张图片合并成一张PNG(可垂直,水平,重叠),可设置背景,透明度等

2024-01-22 09:37:07 602

原创 Tomcat部署Activiti官方 流程设计器【数据库更换为Mysql !!!】

将wars文件夹下三个war文件复制到tomcat的webapps目录下,启动tomcat即可自动部署,首次部署需要初始化数据库,时间可能比较长,默认用的是自带的内存数据库h2,也可以修改为我们自己的数据库。

2023-12-13 22:59:54 490

原创 Python 结合 Selenium 网页自动化【看过来】

ChromeDriver是一个用于自动化控制和与Google Chrome浏览器进行交互的驱动程序。它是Chrome浏览器的一个开源项目,由Chrome开发团队开发和维护。ChromeDriver允许开发人员使用编程语言(如Python、Java、C#等)编写脚本,以控制Chrome浏览器的行为。通过ChromeDriver,您可以模拟用户在浏览器中执行的各种操作,例如打开网页、填写表单、点击按钮、滚动页面等。这使得自动化测试和网页数据爬取变得更加简单和高效。

2023-12-07 23:34:45 119

原创 SpringBoot / Vue 对SSE的基本使用(简单上手)

SSE技术是基于单工通信模式,只是单纯的客户端向服务端发送请求,服务端不会主动发送给客户端。服务端采取的策略是抓住这个请求不放,等数据更新的时候才返回给客户端,当客户端接收到消息后,再向服务端发送请求,周而复始。注意:因为EventSource对象是SSE的客户端,可能会有浏览器对其不支持。是 HTML5 遵循 W3C 标准提出的客户端和服务端之间进行实时通信的协议。浏览器建立的连接中会看到服务器推送到客户端的消息内容及ID等基础信息。是 HTML5 的一部分,提供了一种双向通信的机制。

2023-09-07 11:06:55 8205 3

原创 Vue 3 安装及环境配置

点击下载后点击安装,安装路径按需安装完成后如图所示安装成功后在 CMD 控制台输入 node -v 和 npm -v 验证是否安装成功node -vnpm -v。

2023-06-08 16:45:30 8619 1

转载 FastApi 快速上手使用

验证是否安装成功启动服务get请求,浏览器访问如果你此时访问。你将会看到自动生成的API交互文档。swagger文档。

2023-03-07 16:21:39 1561 1

转载 Requests 基本使用看过来

Python 内置了 requests 模块,该模块主要用来发 送 HTTP 请求。

2023-03-02 14:27:05 783

原创 Alibaba Canal 实时数据同步迁移

canal的工作原理就是把自己伪装成MySQL slave,模拟MySQL slave的交互协议向MySQL Mater发送 dump协议,MySQL mater收到canal发送过来的dump请求,开始推送binary log给canal,然后canal解析binary log,再发送到存储目的地,比如MySQL,Kafka,Elastic Search等等

2022-12-13 10:34:21 780

原创 i18n 国际化 多语言 SpringBoot 整合

可以根据业务空间系统配置语言不同,返回不同语言的响应,如多语言邮件,多语言短信,以及提示等

2022-09-28 17:20:43 2034 3

原创 (切面)打印request与response + (过滤器)唯一链路日志TraceId生成及打印

异步方法的日志打印 THREAD_ID异步方法会开启一个新线程,我们想要是异步方法和主线程共用同一个traceId,首先先新建一个任务适配器MdcTaskDecorator

2022-08-31 17:52:27 2006

原创 SpringBoot 整合 log4j2 + 彩色打印

一定要注意项目中原本的依赖,可能会有冲突,因为使用log4j2依赖一定要排除原本项目中的log4j、logback相关依赖。

2022-08-31 17:45:57 3608 2

原创 Mysql 通过 binlog日志 恢复数据(数据搞丢看过来)

选中区间 只是重新执行了一次 --start-position=17639 到 --stop-position=18038 期间记录的操作(见案例7.6偏差)文章仅供参考,问题也比较多,还有几个情况没考虑。比如 日志不单单是这个表的日志,还夹杂着其他表,日志内按照执行时间顺序记录,如果区间中包含其他表操作,那么其他表也会被重新执行,会造成脏数据。

2022-08-21 12:40:45 8792 1

原创 OpenFeign / SpringBoot 响应使用gzip压缩(含例子)

feign支持对请求与响应进行GZIP压缩,以减少通信中的性能损耗.

2022-08-15 10:42:16 3680

原创 类加载器与类的加载过程

1.类加载器子系统的作用--负责从文件系统中或者网络中加载class文件。--ClassLooader只负责Class文件的加载,至于是否可以运行,则由ExecutionEngine决定--加载的类的信息存在于方法区。除了类的信息,方法区还存放着运行时常量池信息,还包括字符串字面量和数字常量。(这部分常量信息是Class文件中常量池部分的内存映射)2.类加载器ClassLoader--Class文件存在于本地磁盘上,最终在执行的时候是要加载到JVM中,根据这个文件实例化出N个一.

2022-05-19 10:48:49 567

原创 JAVA 与 JVM

1.JAVA 跨平台的语言2.JVM 跨语言的平台3.联系java 语言与java虚拟机没有必然的联系,它只是特定的二进制文件格式(.class)所关联。 4.虚拟机与java虚拟机虚拟机可以分为1.系统虚拟机VMware 等等 完全是对物理计算机的仿真,提供可完整运行操作系统的软件平台2. 程序虚拟机java虚拟机 它专门为执行单个计算机程序而设计无论是系统虚拟机还是 程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中5.java虚拟机

2022-05-19 10:34:10 420

原创 常见虚拟机

1.三大高性能虚拟机 ---使用在通用硬件平台上HotSpot VM--Oracle JDK和 OpenJDK 的默认虚拟机--服务器、桌面、移动端、嵌入式应用都可以--热点代码探索技术,通过计数器找到热点代码、触发及时编译或栈上替换--通过编译器与解释器协同工作,取得平衡JRockit VM--世界上速度最快的java虚拟机--专注于服务器端应用的虚拟机(不关注程序启动速度,因此不包含解释器实现)--JRockit VM 的垃圾收集算法相比其它所有虚拟机表现更佳--

2022-05-19 10:27:17 1928

原创 JVM生命周期

1.JVM实例和JVM执行引擎实例JVM实例对应了一个独立运行的java程序——进程级别一个运行时的Java虚拟机(JVM)负责运行一个Java程序。当启动一个Java程序时,一个虚拟机实例诞生;当程序关闭退出,这个虚拟机实例也就随之消亡。在同一台计算机上同时运行多个Java程序,将得到多个Java虚拟机实例,每个Java程序都运行于它自己的Java虚拟机实例中。JVM执行引擎实例则对应了属于运行程序的线程——线程级别2.jvm实例的产生当启动一个Java程序时,一个JVM实例就

2022-05-19 10:03:45 413

原创 SpringBoot 集成swagger基本配置

createRestApi():创建API应用apiInfo() 增加API相关信息通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,注:apis(RequestHandlerSelectors.basePackage("controller的包路径")apiInfo():创建API的基本信息(Swagger页面头部显示)...

2022-05-12 11:37:21 1408

原创 Spring Security认证授权-权限验证使用教程(二)

Spring Security认证授权-权限验证使用教程(二)

2022-05-12 11:21:25 1883 1

空空如也

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

TA关注的人

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