- 博客(21)
- 收藏
- 关注
原创 MeterShpere V2版本安装部署
若默认的 Docker 镜像源不稳定,你可以更换为国内的镜像源,例如阿里云镜像源。可以先ping www.baidu.com看看是否网络连接通常,如果ping失败,在/etc/resolv.conf 修改配置,把下面的添加进去注意resolv.conf这个文件有权限)确认 Docker 仓库的配置文件 /etc/yum.repos.d/docker-ce.repo 是否正确。保存文件后,再次执行 yum makecache 命令。# 解压安装包 (注意安装包名字不一样)
2025-05-07 15:08:02
1203
原创 DES算法
DES(Data Encryption Standard)是一种对称加密算法。它是在20世纪70年代初期由IBM研发的。它的设计目标是提供高度的数据安全性和性能,并且能够在各种硬件和软件平台上实现。
2025-04-01 14:30:12
716
原创 SM4算法
SM4是一种高效、安全的分组密码算法,其设计兼顾了理论安全性和实际性能,尤其适合需要国产密码标准的场景。与AES相比,它在硬件实现上可能更具优势,但安全性相当。
2025-03-31 09:55:17
1480
原创 RabbitMQ的介绍
(message queue),从字面意思上看就个 FIFO 先入先出的队列,只不过队列中存放的内容是 message 而已,它是一种具有接收数据、存储数据、发送数据等功能的技术服务。消息指的是两个应用间传递的数据。数据的类型有很多种形式,可能只包含文本字符串,也可能包含嵌入对象。“消息队列(Message Queue)”是在消息的传输过程中保存消息的容器。在消息队列中,通常有生产者和消费者两个角色。生产者只负责发送数据到消息队列,谁从消息队列中取出数据处理,他不管。消费者只负责从消息队列中取出数据处理,他
2024-08-16 19:55:25
2481
2
原创 Redis分布式锁的详细介绍
这样做的好处是,即使部分Redis实例发生故障,只要大多数实例仍然可用,锁服务就能继续提供服务,从而避免了单点故障的问题。setnx 和 expire 不是原子性的操作,假设某个线程执行setnx 命令,成功获得了锁,但是还没来得及执行expire 命令,服务器就挂掉了,这样一来,这把锁就没有设置过期时间了,变成了死锁,别的线程再也没有办法获得锁了。(1)存在的问题:假设线程获取了锁之后,在执行任务的过程中挂掉,来不及显示地执行del命令释放锁,那么竞争该锁的线程都会执行不了,产生死锁的情况。
2024-08-16 10:10:57
705
原创 Redis的热key以及Big(大)key是什么?如何解决Redis的热key以及Big(大)key问题?
Redis中的大key问题指的是某个key对应的value值所占的内存空间比较大,这会导致Redis的性能下降、内存不足、数据不均衡以及主从同步延迟等一系列问题。大key的具体定义并不固定,通常认为字符串类型的key对应的value值占用空间大于1MB,或者集合类型的key元素数量超过1万个,就视为大key。但这一标准也会根据Redis的实际运用以及业务需求来综合评估。本质上是大value问题。key往往是程序可以自行设置的,value往往不受程序控制,因此可能导致value很大。
2024-08-15 17:09:45
2429
原创 Redis中缓存穿透、缓存击穿、缓存雪崩的详解
是缓存中没有数据,而数据库中有数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大。是指缓存中和数据库中都没有数据,而用户不断访问,导致这个不存在的数据每次请求都要到存储层去查询,这样失去了意义。就是同一时间内,大量的缓存key值同时失效或者redis服务器宕机,导致大量的请求到达数据库,带来巨大的压力。
2024-08-13 14:33:09
707
1
原创 Redis相关介绍
Redis(Remote Dictionary Server),即远程字典服务,是一个开源的、使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis因其高性能、高并发、丰富的数据类型和灵活的数据操作而广受欢迎。主要特点:高性能:Redis使用内存存储数据,读写速度极快,官方测试数据显示,读的速度可达110000次/s,写的速度可达81000次/s。数据类型丰富。
2024-08-13 14:20:26
1303
原创 Java反射
Java反射机制是指在运行时检查、获取和操作类、方法、字段等结构的能力。通过反射,可以在运行时动态地创建对象、调用方法、访问字段等,而不需要在编译时知道类的具体信息。这种机制使得Java程序具有更高的灵活性和动态性。
2024-08-08 08:00:00
1156
原创 线程池的创建以及工作原理
先说说线程池的作用避免创建过多的线程时引发的内存溢出问题。因为创建线程还是比较耗内存的,通常来说创建一个线程会默认分配1M的内存。线程池的主要优势:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。线程池的创建方法总共有 7 种,但总体来说可分为 2 类:一类是通过 ThreadPoo
2024-08-07 08:00:00
1320
原创 认识多线程
简单来说,线程安全是多个线程访问同一段代码,不会造成不确定的结果。线程安全就是多线程访问时,采用了加锁机制,同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再对共享数据进行操作,确保不会出现数据不一致或者数据污染。线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据那怎么保证线程安全问题呢我们先了解一下并发编程的三大特性1.原子性(Atomicity):原子性是指一个操作是不可中断的,要么全部执行完成,要么完全不执行。
2024-08-06 09:56:40
1379
原创 Java IO流 详细版
BufferedWriter:将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入,可以指定缓冲区大小,或者可以接受默认大小。BufferedReader:从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取,可以指定缓冲区大小,或者可以使用默认大小。用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文,如何识别是中文的呢?这种机制就是使用一个字节序列表示一个对象,该字节序列包含:对象的类型、对象的数据和对象中存储的属性等信息。
2024-08-02 15:39:40
3185
1
原创 面向对象的基本概念
面向过程就是分析一个问题所需要的解决步骤,然后用函数把这些步骤一步一步的给实现,使用的时候一个一个的依次调用即可。比如:洗衣服按照面向的过程思想:第一步:我把洗衣机门打开第二步:把衣服放入洗衣机里第三步:我倒入洗衣液第四步:我把洗衣机门关上这就能明显看出来,这个面向过程就是一步一步的实现需要做的事用代码表示public void openDoor(){} //开门public void putIn(){} //放入衣服public void putOn(){} //倒入洗衣液。
2024-08-01 18:58:59
1178
原创 一篇带你认识JVM
代码编译:Java源代码(.java文件)被编译成Java字节码(.class文件)。类加载:JVM将Java字节码文件加载到内存,并对其进行解析和验证。执行:JVM对Java字节码进行解释执行或编译为本地代码执行。内存管理:JVM负责管理Java程序执行过程中所使用的内存,包括堆、栈、方法区等。垃圾回收:JVM提供自动垃圾回收机制,定时回收不再使用的对象并释放内存。
2024-07-31 15:39:44
911
原创 Spring 前后端数据交互到数据库流程
12.Controller 方法会收到来自 Service 层的结果, 返回⼀个 ModelAndView( 即模型和视图 ) 给HandlerAdaptor。13:HandlerAdapter将Controller扫描结果(ModelAndView)返回给DispatcherServlet。2:DispatcherServlet 接收到请求后、将提交的信息交给处理器映射器(HandlerMapping)16:DispatcherServlet将view进行渲染试图(即将模型数据填充到视图中)
2024-07-29 08:56:23
1476
原创 Springboot+Vue+Mybatis-Plus+Easyexcel实现文件导入+导出的excel单元格下拉列表
在EasyExcel中,如果想实现枚举类型到字符串类型转换(例如属性:0-> 未通过1 -> 已通过2 -> 无状态),需实现Converter接口来自定义转换器,下面为自定义@Override@Override@Override@Override@Getter/*** 未通过*/NOTPASS(0, "未通过"),/*** 已通过*/ALREADYPASSED(1, "已通过"),/*** 无状态*/STATELESS(2, "无状态"),/*** 未知。
2024-06-21 10:00:00
1607
原创 基于springboot的增删改查
打开idea,以springboot的方式来创建项目,正pom.xml文件里面添加以下依赖。这里我就只介绍一个接口(查找所有用户),其他的都是差不多的流程,文章末尾附完整代码;查询所有用户是要返回多个SysIdentityEntity,所以用List;这里将介绍基于springboot框架简单的增删改查项目代码操作。 这里我用到了Navicat来搭建的表。经过前面的准备工作后终于可以开始写代码了; 首先要进行增删改查就需要有数据库;写mapper层的映射文件。到此这个接口就算是写完了;
2024-05-17 19:49:24
1429
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅