自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Maven-安装与环境配置

以下内容是在Windows下安装Maven,如果你想在Linux上安装Maven,可跳转到Linux - 安装 maven(详细教程)Maven是一个项目管理和构建自动化工具,主要服务于基于Java的项目。它是由Apache软件基金会提供的。Maven遵循一个特定的项目对象模型(),这个模型定义了项目的构建过程、依赖关系和其他配置信息。以下是MavenMaven能够自动处理项目依赖,包括依赖的传递性解析,这意味着如果你的项目依赖了某个库,Maven会帮你下载这个库以及这个库所依赖的其他库。Maven。

2024-12-22 15:45:15 886

原创 easyExcel - 导出合并单元格

之前有介绍过如何使用 easyExcel,以及写了两个入门的 demo ,这两个 demo 能应付在开发中大多数的导入和导出需求,不过有时候面对一些复杂的表格,就会有点不够用,该篇就是关于如何实现导出合并单元格将相同订单号的单元格进行合并将相同订单号的单元格进行合并,且同一订单号的总数和总金额进行合并将相同订单号的单元格进行合并,且同一订单号的总数和总金额进行合并,订单内相同商品分类进行合并,且分类总数和分类总金额根据订单号和商品分类进行合并将表中数据相同部分进行左右合并,上下合并。

2024-11-18 23:23:32 2191

原创 RocketMQ 自动注入消费者

之前接到一个需求,我们项目的技术负责人希望通过配置的形式,在项目启动的时候自动根据配置生成对应的消费者觉得还有点意思,随即记录一下~比如我这里有一个消费者@Slf4j@Service@OverrideSystem.err.println("我收到啦~~");在项目启动的时候会根据注解上的配置生成一个消费者假如我还需要一个消费者,其的配置为要设置为8通常情况下我们会再复制一个命名为@Slf4j@Service@OverrideSystem.err.println("我收到啦~~");

2024-11-07 21:58:29 558

原创 MySQL 高级 - 第十五章 | MySQL 事务日志

上篇: 第十四章、事务基础知识本文内容主要源于:bilibili-尚硅谷-MySQL高级篇事务有 种特性:原子性、 一致性、 隔离性和 持久性>那么事务的四种特性到底是基于什么机制实现呢?有的 或许会认为 是 的逆过程,其实不然。 和 都可以视为是一种恢复操作。但是::是存储引擎层()生成的日志,记录的是 上的页修改操作,比如页号 、偏移量 写入了 数据。主要为了保证数据的可靠性:是存储引擎层()生成的日志,记录的是逻辑操作日志,比如对某一行数据进行了 语句操作,那么 就记录一条与之相反

2024-09-29 00:02:46 1119

原创 IDEA 导入 RocketMQ 源码

最近项目中有个功能需要在本地调试下RocketMQ,所以需要在本地导入RocketMQ的源码并启动,故做此记录,便于回顾问题和与各位同学一起探讨。

2024-08-18 16:06:00 1237

原创 MySQL 高级 - 第十四章 | 事务基础知识

事务是数据库区别于文件系统的重要特性之一,当有了事务就会让数据库始终保持一致性,同时还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。

2024-08-04 16:23:26 736

原创 MySQL 高级 - 第十三章 | 数据库其它调优策略

在进行多表连接的时候,搜索空间可能会达到很高的数据量级,巨大的搜索空间显然会占用更多的资源,因此需要通过调整连接顺序,将搜索空间调整在一个可接受的范围内。如果读和写的业务量都很大,并且它们都在同一个数据库服务器中进行操作,那么数据库的性能就会出现瓶颈,这时为了提升系统的性能,优化用户体验,可以采用读写分离的方式降低主数据库的负载,比如用主数据库(master)完成写操作,用从数据库(slave)完成读操作。:表示索引缓冲区的大小。表的规范化程度越高,表与表之间的关系就越多,需要连接查询的情况也就越多。

2024-07-22 23:47:40 887

原创 Java 面试 | Redis

缓存雪崩现象假如说在高峰期时,一秒有 5000 个请求去访问系统 A,正常清空下这个 5000 个请求有 4000 个请求是走缓存的,但是此时 redis 宕机了,导致这 5000/s 个请求直接落在数据库上,数据库扛不住这么多请求,导致数据库挂掉了,整个系统直接崩溃缓存雪崩的解决方案事前:redis 高可用,主从+哨兵,redis 集群避免全盘崩溃事中:本地 ehchache 缓存 + hystrix 限流 & 降级,避免 MySQL 被打死事后:redis 持久化,快速 恢复缓存数据。

2024-07-20 16:53:03 878

原创 后端跨域问题的处理

在做前后端分离的项目时,很有可能会遇到这样一种情况:就是在游览器中请求后端的接口,出现了CORS error错误大概的意思就是:跨源资源共享(CORS)策略阻止了来自端口5173的前端应用对运行在端口8860的后端服务的请求。

2024-06-14 00:01:49 840

原创 Json-server 的使用教程

可以让前端人员不用去编写后端的代码,就能在本地搭建一个json服务,可用于测试一些业务逻辑,便于调试调用。在前后端分离的开发模式下前端使用模拟数据接口, 这时候 后端接口还没有开发出来, 前端又需要数据进行开发,这种情况下就需要前端先行模拟数据, 等后端接口写好进行targetUrl进行替换。github 地址npm 地址是一个零代码快速搭建本地使用JSON文件作为数据源,通过提供一组简单的路由和端点来模拟后端服务器的行为它允许前端开发人员在不依赖后端API的情况下进行开发,通过本地搭建一个JSON。

2024-06-12 00:09:02 3805

原创 MySQL 高级 - 第十二章 | 数据库的设计规范

在关系型数据库中,关于数据表设计的基本原则、规则就称为范式。可以理解为,一张数据表的设计结构需要满足的某种设计标准的级别。要想设计一个结构合理的关系型数据库,必须满足一定的范式。范式的英文名称是,简称NF。它是英国人E.F.Codd在上个世纪70年代提出关系数据库模型后总结出来的。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。有的时候不能简单按照规范要求设计数据表,因为有的数据看似穴余,其实对业务来说十分重要。这个时候,我们就要遵循业务优先。

2024-06-11 16:47:21 1723 2

原创 MySQL 高级 - 第十一章 | 索引优化与查询优化

上篇:第十章、性能分析工具的使用本文内容主要源于:bilibili-尚硅谷-MySQL高级篇都有哪些纬度可以进行数据库调优?简言之:关于数据库调优的知识点非常分散,不同 ,不同的公司,不同的职位,不同的项目遇到的问题都不尽相同。虽然 查询优化的技术很多,但是大体方向上完全可以分为 和 两大块。学员表插 万条, 班级表插 万条步骤1:建表步骤2:设置参数命令开启:允许创建函数设置步骤3:创建函数随机产生字符串,保证每条数据都不同随机产生班级编号步骤4:创建存储过程创建往 表中插入数据的存储

2024-06-07 23:00:33 1574 2

原创 Javav-面试 | 消息队列

这种情况就是 RabbitMQ 将消息存放在内存中,当 RabbitMQ 挂掉之后,内存中的消息也丢失了,通常情况下,需要开启 RabbitMQ 持久化,就是消息写入之后会持久化到磁盘中,哪怕 RabbitMQ 自己挂掉了,恢复之后会自动读取之前存储的数据,一般数据不会丢失,除非及其罕见的是,RabbitMQ 在持久化的过程中挂掉了,就可能导致少量的数据会丢失,但这个概率是很小的。如果是大数据领域的实时计算、日志采集等场景,用 Kafka 是业内标准的,绝对没有问题,社区活跃度也很高,绝对不会黄掉的。

2024-05-30 11:06:42 1113

原创 MySQL 高级 - 第十章 | 性能分析工具的使用

在数据库调优中,我们的目标就是 。利用宏观的监控工具和微观的日志分析可以帮我们快速找到调优的思路和方式。当我们遇到数据库调优问题的时候,该如何思考呢?这里把思考的流程整理成下面这张图。整个流程划分成了 和 两个部分。字母 S 的部分代表观察(会使用相应的分析工具),字母 代表的部分是行动(对应分析可以采取的行动)我们可以通过观察了解数据库整体的运行状态,通过性能分析工具可以让我们了解执行慢的 都有哪些,查看

2024-05-24 16:55:11 614

原创 MySQL 高级 - 第九章 | 索引的创建与设计原则

MySQL 的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。

2024-05-22 01:03:01 698 1

原创 MySQL 高级 - 第八章 | InnoDB 数据存储结构

页a、页b、页c...页n这些页可以 ·不在物理结构上相连·,只要通过双向链表相关联即可。每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录。第七章、索引的数据结构参考文章:《MySQL 是怎样运行的:从根儿上理解 MySQL》— [中] 小孩子。

2024-05-09 22:51:04 586

原创 前端学习|第五章

小白开始干前端生命不息,学习不止~~以下内容源于黑马前端教程,纯属搬运工了CSS 学习 | 第三章。

2024-05-07 21:05:22 1206 3

原创 前端学习|第四章

小白开始干前端生命不息,学习不止~~以下内容源于黑马前端教程,纯属搬运工了上篇:CSS 学习 | 第二章一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接收和发送请求图片,造成服务器请求压力过大,这将大大降低页面的加载速度。因此,为了有效地减少服务器接收和发送请求的次数,提高页面的加载速度,出现了 CSS 精灵技术(也称CSS Sprites、CSS 雪碧)。核心原理:将网页中的一些小背景图像整合到一张大图中 ,这样服务器只需要一次请求就可以了。精灵图的使用:例如:十

2024-05-07 21:04:56 728

原创 MySQL 高级 - 第七章 | 索引的数据结构

MySQL官方对索引的定义为:索(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。索引的本质:索引是数据结构,可以简单理解为排好序的快速查找数据结构,满足特定查找算法,这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法。索引是在存储引擎中实现的。

2024-05-07 20:48:55 1430 1

原创 MySQL 高级 - 第六章 | 存储引擎

MySQL从 3.23 开始就包含InnoDB存储引擎,5.5之后就默认采用InnoDB引擎InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期()事务,可以确保事务的完整提交(Commit)和回滚(Rollback除了增加和查询外,还需要更新、删除操作,那么,应优选选择InnoDB存储引擎除非有非常特别的原因需要使用其它的存储引擎,否则应该优先考虑InnoDB引擎数据文件结构:表名.frm存储表结构(MySQL-8.0时,合并在表名.ibd中)表名.ibd。

2024-05-04 17:01:12 1084

原创 MySQL 高级 - 第五章 | 逻辑架构

每次调用都会产生最新的当前时间,如果在一个查询请求中调用了这个函数,那即使查询请求的文本信息都一样,那不同时间的两次查询也应该得到不同的结果,如果在第一次查询时就缓存了,那第二次查询的时候直接使用第一次查询的结果就是错误的。物理查询优化是基于关系代数进行的查询重写,而关系代数的每一步都对应着物理计算,这些物理计算往往存在多种算法,因此需要计算各种物理路径的代价,从中选择代价最小的作为执行计划,在这个阶段里,对于单表和多表连接的操作,需要高效地。,它们都是独立的,独立的去申请内存空间,独立的管理各种链表。

2024-05-01 08:33:45 2080 4

原创 MySQL 高级 - 第四章 | 配置文件与系统变量

MySQLmax_connections:允许同时连入的客户端数量default_storage_engine:表的默认存储引擎用系统变量query_cache_size:查询缓存的大小。

2024-04-29 13:11:15 1652

原创 MySQL 高级 - 第三章 | 用户、权限与角色管理

一旦建立了连接,服务器就进入了访问控制的第二阶段,也就是请求核实阶段,对此连接上进来的每个请求,服务器检查该请求要执行什么操作,是否有足够的权限来执行它,这正是需要授权表中的权限列发挥作用的地方,这些权限可以来自。用户可以被赋予角色,同时也被授予角色包含的权限,对角色进行操作需要较高的权限,并且像用户账号一样,角色可以拥有授予和撤消的权限。在实际应用中,为了安全性,需要给用户授予权限。是超级管理员,拥有所有权限,包括创建用户、删除用户和修改用户的密码等管理权限,普通用户只拥有被授予的各种权限。

2024-04-29 13:10:30 1691

原创 MySQL 高级 - 第二章 | 数据库目录结构与文件系统

以下内容以在linux上安装的mysql-8.0为例,讲述mysql的目录结构bilibili-尚硅谷-MySQL高级篇。

2024-04-29 13:09:56 1500

原创 MySQL 高级 - 第一章 | 字符集、大小写规范与sql_mode的合理设置

目前市面上使用的Mysql大多数都是mysql-8.0或者是mysql-5.7,以下内容是对mysql的字符集与大小规范的一个简单介绍可以用以下命令查看mysql如果您想要查看更详细的版本信息,包括版本号、发行版本、系统名称和bilibili-尚硅谷-MySQL高级篇MySQLLinux-安装MySQL(详细教程)sql_mode会影响MySQL支持的SQL语法以及它执行的数据验证检查,通过设置sql_mode可以完成不同严格程度的数据校验,有效地保障数据的准确性。MySQL服务器可以在不同的SQL。

2024-04-29 13:09:06 1200

原创 easyExcel - 带图片导出

Java-easyExcel入门教程:https://blog.csdn.net/xhmico/article/details/134714025之前有介绍过如何使用 ,以及写了两个入门的 ,这两个 能应付在开发中大多数的导入和导出需求,不过有时候面对一些复杂的表格,就会有点不够用,该篇讲述的是如何实现带图片导出在实际的开发过程中可能会遇到需要带图片导出的表格,比如以下案例:如果有多张图片要放在一个单元格中,并且单元格随着图片数量自动扩宽关于如何实现带图片导出的功能,在官方文档中有一个简单的说明:官方

2024-04-25 11:54:24 8227 10

原创 Tesseract OCR 的使用

第一种:使用开源的 OCR第二种:使用第三方 OCR(比如阿里、百度的 OCR)本文章是对开源的一个简单介绍,以及Java如何整合什么是 OCROCR,即,是光学字符识别的简称。它是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。简言之,OCR技术可以将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工。OCR。

2024-04-19 14:13:29 16144 3

原创 计算机组成原理总结(笔记)

第一章 计算机系统概论第二章 计算机的发展及应用第三章 系统总线第四章 存储器第五章 输入输出系统第六章 计算机的运算方法第七章 指令系统第八章 CPU 的结构与功能第九章 控制单元的功能第十章 控制单元的设计

2024-04-12 17:51:41 360

原创 计算机组成原理|第十章(笔记)

上图示意了微程序控制单元的基本组成,虚线框内为微程序控制单元,其中控制存储器(简称控存)是微程序控制单元的核心部件,用来存放全部微程序,CMAR 是控存地址寄存器,用来存放欲读出的指令地址,CMDR 是控存数据寄存器,用来存放从控存读出的微指令;微程序设计控制单元的过程就是编写每一条机器指令的微程序,它是按执行每条机器指令所需的微操作命令的先后顺序而编写的,因此,一条机器指令对应一个微程序,如图所示,每一条机器指令都与一个以操作性质命名的微程序对应。可见,微程序控制单元的核心部件是一个控制存储器,简称。

2024-04-12 17:41:58 860

原创 计算机组成原理|第九章(笔记)

这种方案的特点是:不论指令所对应的微操作序列有多长,也不管微操作的简繁,一律以最长的微操作序列和最繁的徼操作作为标准,采取完全统一的、具有相同时间间隔和相同数目的节拍作为机器周期来运行各种不同的指令。概括的说,计算机的功能就是执行程序,在执行程序的过程中,控制单元要发出各种微操作命令,而且不同的指令应对不同的命令。这种方案将机器的大部分指令安排在统一的、较短的机器周期内完成,称为中央控制,而将少数操作复杂的指令中的某些操作采用周部控制方式来完成,如乘除法和浮点运算等。每个节拍的宽度正好对应一个时钟周期。

2024-04-10 16:50:59 1486

原创 计算机组成原理|第八章(笔记)

采用中断方式实现主机与I/O交换信息可使CPU和I/O并行工作,提升CPU的效率。其实,计算机在运行过程中,除了会遇到I/O中断外,还有许多意外事件发生,如电源突然掉电,机器硬件突然出现故障,人们在机器运行过程中想随机抽查计算的中间结果,实现人机联系等。1. 引起中断的各种因素① 人为设置的中断② 程序性事故③ 硬件故障④ I/O 设备⑤ 外部事件2. 中断系统需解决的问题① 各中断源如何向CPU提出中断请求② 当多个中断源同时提出中断请求时,中断系统如何确定优先响应哪个中断源的请求。

2024-04-10 15:42:40 1301

原创 easyExcel - 动态复杂表头的编写

之前有介绍过如何使用easyExcel,以及写了两个入门的demo,这两个demo能应付在开发中大多数的导入和导出需求,不过有时候面对一些复杂的表格,就会有点不够用,该篇讲述的是如何实现复杂表头编写在实际的开发过程中可能会遇到需要导出一些带有复杂表头的表格,比如以下案例:该表头占了两行,其中橙色部分的信息是需要动态生成的根据官方实现复杂表头的写法,自定义输出对象为。

2024-04-09 11:07:43 11452 2

原创 easyExcel - 按模板导出

之前有介绍过如何使用easyExcel,以及写了两个入门的demo,这两个demo能应付在开发中大多数的导入和导出需求,不过有时候面对一些复杂的表格,就会有点不够用,该篇是如何使用模板实现导出功能在实际的开发过程中可能会遇到需要导出一些带有复杂表头的表格,比如:工资表和考勤表或者是类似于发票、报价单这种具有模板性质的表格如果仅仅通过代码去实现是比较困难的,通常情况下会写一个模板excel,模板中的需要变动的数据用占位符替代,导出的文件按照该模板填充数据easyexcel① 读取模板文件。

2024-04-08 17:43:30 17076 3

原创 Maven 导入本地 jar 包

最近项目中有跟第三方对接,需要引入第三方的jar包到本地,所以记录下Maven如何导入的本地的jar包目前以及将第三方的jar下载好了,静静的躺在我的文件夹下这里默认都安装了Maven了。

2024-04-02 15:01:16 862

原创 easyExcel-读取合并单元格

之前有介绍过如何使用easyExcel,以及写了两个入门的demo,这两个demo能应付在开发中大多数的导入和导出需求,不过有时候面对一些复杂的表格,就会有点不够用,该篇就是关于我如何处理表格中的合并单元格的一个开发过程记录以下内容是结合Java-easyExcel入门教程中的案例代码去实现的,可能与你项目中所使用的会有点不同假如说你有一个表格的数据想要导入到系统中,在通常情况下,面对标准的表格文件,比如:表头和内容都比较工整,每个单元格对应一个数据,通过Java-easyExcel入门教程。

2024-03-21 15:54:39 9250 4

原创 MySQL8 设置大小写敏感

今天对我本地的数据库迁移服务器上,完成之后启动项目报错说数据库中不存在这张表我打开服务器上面的数据上面展示的表名是,然后通过查询配置可知,表示按理说只要将的值设置为1或者2就行了接着我去修改了服务器上my.cnf(或者my.ini)文件接着再重启启动失败。

2024-03-13 18:05:44 4652

原创 Linux - 安装 nacos(详细教程)

Nacos是阿里巴巴推出的一个新开源项目,它主要是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos提供了一组简单易用的特性集,帮助用户快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos服务发现和服务健康监测:支持基于DNS和基于RPC的服务发现,如以及等主流服务类型。Nacos还提供实时的健康检查,以阻止向不健康的主机或服务实例发送请求。这包括传输层(如PING或TCP)和应用层(如HTTPMySQLagent上报模式和服务端主动检测。Nacos。

2024-03-13 10:30:00 26224 5

原创 Linux - 安装 Jenkins(详细教程)

虽然说网上有很多关于Jenkins安装的教程,但是大部分都不够详细,或者是需要搭配docker或者k8s等进行安装,对于新手小白而已,学习的成本确实有点大,所以该篇博客就是使用最原始的方式进行Jenkins的安装Jenkins是一个开源的持续集成(CI)工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用和可扩展的平台,帮助团队更高效地开发和交付软件。

2024-03-11 11:15:41 20088 11

原创 Linux - 安装 maven(详细教程)

命令将下载好的安装包上传到该目录下。文件后,再执行以下命令让修改的生效。将仓库地址设置成刚刚新建的文件夹。接着进行环境变量配置,需要修改。的安装包,并进入到该目录下。命令就能看到已经解压到。的官网下载页面,点击。上传好之后,进行解压安装。编辑文本,复制上述配置。如果想要下载旧版本的。这里我是先创建了一个。命令查看是否上传成功。命令查看配置是否生效。已经安装和配置成功了。就会展示所有的旧版本。,就点击对应的版本号。

2024-03-04 16:20:34 11105 3

原创 Jenkins 的安装(详细教程)

Jenkins是一个开源的持续集成(CI)工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用和可扩展的平台,帮助团队更高效地开发和交付软件。Jenkins的主要特点和用途包括:Jenkins可以从源代码库(如GitSVN等)中获取最新的代码,并自动进行构建。它支持各种构建工具和构建脚本,如等。Jenkins可以将多个开发者的代码集成到共享的主线分支中,并定期执行构建和测试。这有助于发现和解决集成问题,确保软件的稳定性和可靠性。Jenkins可以与各种测试框架和工具集成,如等。

2024-03-04 10:34:18 26415 7

easyExcel - 按模板导出

案例模板

2024-04-08

空空如也

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

TA关注的人

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