自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis(5.0)

Redis 的 Set(集合)数据类型是一种无序的、不重复元素的集合。Set 中的每个成员必须是唯一的,这意味着你不能在同一个 Set 中添加两个相同的值。常用命令sadd 【key】【value1 value2 value3 ……】 --向key中添加一个或多个元素。smembers 【key】 --获取【key】中的所有元素。sismember 【key】【元素】 --判断元素是否是集合 key 的成员;1表示是;0 表示 不是。scard 【key】 --获取集合中的元素个数。

2024-03-06 22:36:12 1127

原创 10、数据结构与算法——堆

二叉树是一种数据结构,它是由n(n≥0)个节点的有限集合构成,每个节点最多有两个子节点,通常分别称为左子节点和右子节点。n:表示二叉树中的节点总数,它可以是一个任意非负整数。n≥0:这意味着二叉树可以包含任意数量的节点,包括零个。即:当n=0时,表示这是一棵空二叉树,它不包含任何节点。当n>0时,表示二叉树至少包含一个节点,并且根据定义,这个节点可能还有0个、1个或2个子节点,依此类推,形成一个节点的有限集合。二叉树如下图:每个节点最多有两个子节点,通常分别称为左子节点和右子节点。

2024-02-02 03:00:57 793

原创 9、阻塞队列

例如,当一个生产者线程因 notFull 条件变为真而被唤醒时,它需要重新获取锁才能入队,但在竞争过程中可能被其他线程抢占,导致再次陷入等待状态。那么由添加线程唤醒其他的添加线程(否则就由获取方法中的获取线程唤醒添加线程)。如果在添加之前,队列是空的,那么需要当前添加线程去唤醒取值线程。如果队列在当前取值线程在取值前,队列中的值是满的,那么需要当前取值线程唤醒添加线程。级联通知:一个线程完成任务释放资源后唤醒其他等待的线程,被唤醒的线程继续执行又可能导致其他线程被唤醒,这种间接影响可以类比为级联通知。

2024-01-31 01:11:35 888

原创 8、优先级队列

*** 定义数据类型接口/*** 获取值的排序编号* @return/*** 获取值* @return堆是一种特殊的树形数据结构,通常实现为完全二叉树或满二叉树。堆又分为两种类型最大堆(Max Heap)和最小堆(Min Heap)二叉树是一种数据结构,它是由n(n≥0)个节点的有限集合构成,每个节点最多有两个子节点,通常分别称为左子节点和右子节点。n:表示二叉树中的节点总数,它可以是一个任意非负整数。n≥0:这意味着二叉树可以包含任意数量的节点,包括零个。

2024-01-25 01:35:05 911

原创 7、双端队列

双端队列(Double-ended Queue,简称deque)是一种线性数据结构,它允许在两端进行插入和删除操作。这意味着与普通队列(FIFO,先进先出)或栈(LIFO,后进先出)不同,双端队列的使用者不仅可以从队列的一端(通常称为“尾”端)添加元素(enqueue),也可以从这一端删除元素(dequeue)。同时,双端队列还支持在另一端(通常称为“头”端)执行相同的操作,即在队列头部添加(enqueue at head)和删除(dequeue at head)元素。

2024-01-19 04:10:13 1748

原创 6、栈

*** 入栈:将一个元素添加到栈顶。* @param value 值* @return 压入成功返回 true, 否则返回 false/*** 出栈:移除并返回栈顶的元素。* @return 栈非空返回栈顶元素, 栈为空返回 null*/ E pop();/*** 查看栈顶元素:不移除栈顶元素的情况下查看其值。* @return 栈非空返回栈顶元素, 栈为空返回 null/*** 判断是否为空栈:检查栈中是否包含元素。

2024-01-17 00:04:22 738

原创 5、队列

队列是一个线性数据结构,可以想象成一个两端开口的管道或实际生活中的排队场景。一端用于添加元素(称为enqueue或入队),另一端用于移除元素(称为dequeue或出队)。新元素只能从队尾添加,而删除或访问元素则总是从队头进行。环形数组(Circular Array)是一种特殊的数组,它模拟了一个可以循环利用其空间的数据结构。其逻辑结构表现为一个首尾相连的“环”或“圈”。在物理上,它仍然是一个线性存储结构,即普通的数组,但它的读写操作遵循循环规则。

2024-01-16 17:42:55 971

原创 4、递归

单独对于冒泡排序法,如下方式是最优解,后面的递归冒泡排序法仅仅是展示多种冒泡排序的实现方式。所以递归冒泡排序法性能肯定是要差一些的。

2024-01-12 13:29:14 890 1

原创 3、链表

**1. 单向链表*/// 头部节点/*** 节点定义(内部类)*/// 数据域int value;// 指针域,指向下一个节点Node next;// 构造函数//头部节点//尾部节点/*** 头部节点和尾部节点设置默认值。*///设置头部节点默认值//设置尾部节点默认值//设置头部节点的后节点为尾节点//设置尾部节点的前节点为头部节点//前节点//节点值//后节点/*** @param prev 前节点* @param value 节点值。

2024-01-05 22:46:38 786 1

原创 2、数组

数组作为一种简单且高效的数据结构,在满足特定条件(特别是当需要频繁且无序地访问元素时)的情况下具有显著的优势。然而,其固定大小和插入/删除操作的限制意味着在某些灵活度需求高的场景下,其他数据结构可能是更优的选择。

2024-01-02 14:38:04 731 1

原创 1、二分查找

因为查找的目标值有可能是开始索引或者是结束索引。如果只用只有小于,那么会导致直接进入不了循环。比如查找的值是数组中的第一个值。或者数组中的值只有一个。那么开始索引和结束索引都是0 那么会导致进入不了循环。

2023-12-27 15:33:30 910 1

原创 第三章:容器数据卷

卷就是目录或文件,存在于一个或多个容器中,由Docker挂载到容器,但卷不属于联合文件系统(Union FileSystem),因此能够绕过联合文件系统提供一些用于持续存储或共享数据的特性。卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。

2023-03-26 17:43:11 219

原创 mongodb

mongodb

2022-10-23 17:13:20 3626

原创 华硕主板B560PlusWiFi版开启vt虚拟

华硕主板B560PlusWiFi版开启Vt虚拟

2022-10-22 10:55:13 2733

原创 第二章:docker的命令

docker

2022-08-02 23:41:31 1276

原创 第一章:docker的介绍及安装与卸载

docker

2022-08-02 22:29:45 272

原创 java集合

一、集合与数组1、 集合与数组存储数据概述  集合、数组都是对多个数据进行存储操作的结构,简称Java容器。 说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)。2、数组存储的特点  一旦初始化以后,其长度就确定了。 数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。比如:String[] arr0; int[] arr1; Object[] arr2;3、数组存储的弊端一旦初始化以后,其长度就不可修改。

2022-05-23 05:03:42 164

原创 JAVA-IO流

一、File类的使用1.1、简介File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)。File类声明在java.io包下:文件和文件路径的抽象表示形式,与平台无关。File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。后

2022-05-22 18:50:07 103

原创 JAVA--JVM

1、JVM架构图1.1、jvm所在位置JVM是运行在操作系统之上的,它与硬件没有直接的交互。1.2、JVM体系结构概览1、类加载器(ClassLoader):将java代码转成class字节码文件。2、运行时数据区(RuntimeDataArea):将字节码文件加载到内存3、执行引擎(ExecutionEngine):也叫解释器,负责解释命令,交由操作系统执行。4、本地库接口(NativeInterface):本地库接口的作用是融合不同的语言为java所用。总结:  首先通过类加载器(

2022-05-22 03:25:34 644 3

原创 RabbitMQ

1.1. MQ 的相关概念1.1.1. 什么是MQMQ(message queue),M表示【消息】,Q表示【队列】,MQ就是【消息队列】;消息队列:从字面意思上看,本质是个队列,只不过队列中存放的内容是 message 而已。遵循先入先出原则(FIFO):好比运输水的水管,先流入水管的水,肯定也会先流出水管。还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其

2022-04-17 20:22:23 2584 1

原创 Docker

Docker的介绍Docker的安装镜像加速器(阿里云)作用:加快镜像下载速度。相对于国外的服务器要好很多。操作的结果:将docker下载镜像的地址配置设置为阿里云。记住:每个账号的镜像地址都不一样。1、使用账号登录阿里云2、找到【容器镜像服务 ACR】3、点击管理控制台4、就可以看到加速地址了。在linux命令界面下执行红框下的命令就可以了。Docker的常用命令帮助启动类命令1、查看docker状态:systemctl status docker如下图:docker 处于

2022-03-13 15:39:35 467

原创 java 多线程

一、程序、进程、线程1. 程序(program)  概念:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。2. 进程(process)  概念:程序的一次执行过程,或是正在运行的一个程序。 说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域3. 线程(thread)  概念:进程可进一步细化为线程,是一个程序内部的一条执行路径。 说明:线程作为调度和执行的单位,每个线程拥独立的运行栈和程序计数器(pc),线程切换的开销小。4、内存结构:5、说明

2022-02-17 15:24:12 150 1

原创 Spring注解驱动开发第7讲--使用注解@Conditional实现按照自定义条件向ioc容器中注入bean组件

1、@Conditional注解概述a、@Conditional是Spring4新提供的注解,它的作用是按照自定义的条件进行判断,满足条件给容器注册Bean组件。b、@Conditional注解是由Spring Framework提供的一个注解,它位于org.springframework.context.annotation包内,c、从@Conditional注解的源码来看,该注解不仅可以添加到类上,也可以添加到方法上。在@Conditional注解中,还存在着一个Condition类型或者其子类

2022-01-23 22:05:03 319

原创 Spring注解驱动开发第5和6讲——使用@Scope注解设置组件的作用域及设置单例模式使用注解@Lazy设置为懒加载

写在前面  Spring容器中的组件默认是单例的,在Spring启动时就会实例化并初始化这些对象,并将其放到Spring容器中,之后,每次获取对象时,直接从Spring容器中获取,而不再创建对象。如果每次从Spring容器中获取对象时,都要创建一个新的实例对象,那么该如何处理呢?此时就需要使用【@Scope】注解来设置组件的作用域了。1、@Scope注解概述@Scope注解能够设置组件的作用域,我们先来看看@Scope注解类的源码,如下所示。从@Scope注解类的源码中可以看出,在@Scope注解

2022-01-03 00:12:43 459

原创 Spring注解驱动开发第3和第4讲——使用@ComponentScan注解自动扫描组件and指定扫描规则(或自定义扫描规则)

前言在实际工作中。普遍都是使用Spring的扫描包功能对项目中的包进行扫描,凡是在指定的包或其子包中的类上标注了@Repository(通常用于DAO层)、@Service(通常作用在业务层)、@Controller(通常作用在控制层)、@Component(可以自定义用哪里,没有限制)注解的类都会被扫描到,并将这些类注入到Spring容器中。Spring包扫描功能可以使用【XML配置文件】进行配置,也可以直接使用【@ComponentScan注解】进行设置,使用 @ComponentScan注解进行设

2021-12-26 22:28:16 581 1

原创 spring-注解驱动开发-第2讲-使用注解@Configuration(配置类注解)和@Bean(意义不大,目前普遍使用包扫描)给ioc容器中注入javaBean

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-12-11 16:44:14 488

原创 idea解决项目右键没有【maven】菜单选项

问题展示并且在maven窗口项目为灰色原因是因为项目忽略了maven模块。解决方法:file->Settings->Build,Execution,Deployment–>Build Tools->Maven–>Ignored Files 将被勾上的项目去掉就可了...

2020-04-22 18:55:57 3033

空空如也

空空如也

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

TA关注的人

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