自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 docker安装使用详解

比如我们运行一个了一个mysql容器,如果不挂载到宿主机,那么当我们删除容器的时候,容器里面的数据也就没了。我们通过镜像运行容器,然后对容器进行了修改了,配置了我们想要的环境后,如果我们想分享给别人,让别人直接下载我配好的镜像运行,这时候就需要commit命令了,就像git 提交项目到本地仓库一样。把容器里的目录和主机里的目录绑定后,数据是双向的,也就是在主机中修改或者创建文件,会同步到容器中,就算容器没有运行,下次启动时也会运行。微服务打包成镜像,任何装了Docker的地方,都可以下载使用,极其的方便。

2024-12-16 17:23:22 2062

原创 java springboot deepseek流式对话集成示例

【代码】java springboot deepseek流式对话集成示例。

2025-05-06 19:00:10 585 1

原创 计算机操作系统 - 内存管理

如果是 1,就将 R 位清 0,并把该页面放到链表的尾端,修改它的装入时间使它就像刚装入的一样,然后继续从链表的头部开始搜索。在缓存系统中,缓存的大小有限,当有新的缓存到达时,需要淘汰一部分已经存在的缓存,这样才有空间存放新的缓存数据。下图为一个编译器在编译过程中建立的多个表,有 4 个表是动态增长的,如果使用分页系统的一维地址空间,动态增长的特点会导致覆盖问题的出现。LRU 将最近最久未使用的页面换出。NRU 优先换出已经被修改的脏页面(R=0,M=1),而不是被频繁使用的干净页面(R=1,M=0)。

2025-04-30 00:00:00 957

原创 计算机操作系统 - 链接

在给定的文件系统中一个库只有一个文件,所有引用该库的可执行目标文件都共享这个文件,它不会被复制到引用它的可执行文件中;链接阶段:将可重定位目标文件和 printf.o 等单独预编译好的目标文件进行合并,得到最终的可执行目标文件。在内存中,一个共享库的 .text 节(已编译程序的机器代码)的一个副本可以被不同的正在运行的进程共享。可重定位目标文件:可与其它可重定位目标文件在链接阶段合并,创建一个可执行目标文件;共享目标文件:这是一种特殊的可重定位目标文件,可以在运行时被动态加载进内存并链接;

2025-04-29 00:00:00 516

原创 计算机操作系统 - 进程管理

注意,不能先对缓冲区进行加锁,再测试信号量。消费者不能进入临界区,因为生产者对缓冲区加锁了,消费者就无法执行 up(empty) 操作,empty 永远都为 0,导致生产者永远等待下,不会释放锁,消费者因此也会永远等待下去。类似地,在进行进程切换时,涉及当前执行进程 CPU 环境的保存及新调度进程 CPU 环境的设置,而线程切换时只需保存和设置少量寄存器内容,开销很小。线程是独立调度的基本单位,在同一进程中,线程的切换不会引起进程切换,从一个进程中的线程切换到另一个进程中的线程时,会引起进程切换。

2025-04-28 00:00:00 2036

原创 计算机操作系统 - 概述

地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,执行页面置换算法,将该页置换到内存中。由 CPU 执行指令以外的事件引起,如 I/O 完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。此外还有时钟中断、控制台中断等。在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。互斥共享的资源称为临界资源,例如打印机等,在同一时刻只允许一个进程访问,需要用同步机制来实现互斥访问。

2025-04-27 00:00:00 649

原创 缓存 详解

产生原因:缓存系统通常采用 hash 函数将 key 映射到对应的缓存节点,随着缓存节点数目的增加,键值分布到更多的节点上,导致客户端一次批量操作会涉及多次网络操作,这意味着批量操作的耗时会随着节点数目的增加而不断增大。为了防止缓存服务器宕机出现的缓存雪崩,可以使用分布式缓存,分布式缓存中每一个节点只缓存部分的数据,当某个节点宕机时可以保证其它节点的缓存仍然可用。传统的哈希分布算法存在一个问题:当节点数量变化时,也就是 N 值变化,那么几乎所有的数据都需要重新分布,将导致大量的数据迁移。

2025-04-26 00:00:00 612

原创 集群 详解

一个用户的 Session 信息如果存储在一个服务器上,那么当负载均衡器把用户的下一个请求转发到另一个服务器,由于服务器没有用户的 Session 信息,那么该用户就需要重新进行登录等操作。例如下图中,服务器 1 被赋予的权值为 5,服务器 2 被赋予的权值为 1,那么 (1, 2, 3, 4, 5) 请求会被发送到服务器 1,(6) 请求会被发送到服务器 2。该算法比较适合每个服务器的性能差不多的场景,如果有性能存在差异的情况下,那么性能较差的服务器可能无法承担过大的负载(下图的 Server 2)。

2025-04-26 00:00:00 967

原创 计算机操作系统 - 设备管理

如果新到达的磁道请求总是比一个在等待的磁道请求近,那么在等待的磁道请求会一直等待下去,也就是出现饥饿现象。电梯算法(扫描算法)和电梯的运行过程类似,总是按一个方向来进行磁盘调度,直到该方向上没有未完成的磁盘请求,然后改变方向。因为考虑了移动方向,因此所有的磁盘请求都会被满足,解决了 SSTF 的饥饿问题。其中,寻道时间最长,因此磁盘调度的主要目标是使磁盘的平均寻道时间最短。电梯总是保持一个方向运行,直到该方向没有请求为止,然后改变运行方向。计算机操作系统 - 设备管理。按照磁盘请求的顺序进行调度。

2025-04-25 17:21:20 356

原创 攻击技术 网络攻击

跨站请求伪造(Cross-site request forgery,CSRF),是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。拒绝服务攻击(denial-of-service attack,DoS),亦称洪水攻击,其目的在于使目标电脑的网络或系统资源耗尽,使服务暂时中断或停止,导致其正常用户无法访问。XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户浏览器的信任。

2025-04-25 17:02:16 641

原创 分布式 详解 原理

Acceptor X 收到 Proposer B 发来的 [n=4, v=5] 的 Prepare 请求,因为之前接收到的提议为 [n=2, v=8],并且 2 <= 4,因此就发送 [n=2, v=8] 的 Prepare 响应,设置当前接收到的提议为 [n=4, v=5],并且保证以后不会再接受序号小于 4 的提议。其它的 Acceptor 类似。Acceptor 接收到 Accept 请求时,如果序号大于等于该 Acceptor 承诺的最小序号,那么就发送 Learn 提议给所有的 Learner。

2025-04-25 17:01:31 660

原创 SQL详解

优先处理 AND,当一个过滤表达式涉及到多个 AND 和 OR 时,可以使用 () 来决定优先级,使得优先级关系更清晰。为结束符,而存储过程中也包含了分号,因此会错误把这部分分号当成是结束符,造成语法错误。UPDATE 触发器包含一个名为 NEW 和一个名为 OLD 的虚拟表,其中 NEW 是可以被修改的,而 OLD 是只读的。来组合两个查询,如果第一个查询返回 M 行,第二个查询返回 N 行,那么组合查询的结果一般为 M+N 行。分为左外连接,右外连接以及全外连接,左外连接就是保留左表没有关联的行。

2025-04-25 17:00:20 788

原创 SQL 语法

优先处理 AND,当一个过滤表达式涉及到多个 AND 和 OR 时,可以使用 () 来决定优先级,使得优先级关系更清晰。为结束符,而存储过程中也包含了分号,因此会错误把这部分分号当成是结束符,造成语法错误。UPDATE 触发器包含一个名为 NEW 和一个名为 OLD 的虚拟表,其中 NEW 是可以被修改的,而 OLD 是只读的。来组合两个查询,如果第一个查询返回 M 行,第二个查询返回 N 行,那么组合查询的结果一般为 M+N 行。分为左外连接,右外连接以及全外连接,左外连接就是保留左表没有关联的行。

2025-04-25 16:59:16 951

原创 SQL 练习

我们想要的结果是,把分数相同的放在同一个排名,并且相同分数只占一个位置,例如上面的分数,Id=2 和 Id=3 的记录都有相同的分数,并且最高,他们并列第一。涉及到 Person 和 Address 两个表,在对这两个表执行连接操作时,因为要保留 Person 表中的信息,即使在 Address 表中没有关联的信息也要保留。对 class 列进行分组之后,再使用 count 汇总函数统计每个分组的记录个数,之后使用 HAVING 进行筛选。只保留相同 Email 中 Id 最小的那一个,然后删除其它的。

2025-04-25 16:58:42 645

原创 Socket

Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。Redis 支持很多特性,例如将内存中的数据持久化到硬盘中,使用复制来扩展读性能,使用分片来扩展写性能。

2025-04-25 16:57:28 808

原创 Redis教程

Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。Redis 支持很多特性,例如将内存中的数据持久化到硬盘中,使用复制来扩展读性能,使用分片来扩展写性能。

2025-04-25 16:56:36 1098

原创 MySQL教程

mysql教程

2025-04-25 16:52:14 618

原创 设计模式 - 适配器设计模式(Adapter)

设计模式 - 适配器设计模式(Adapter)

2024-12-17 19:45:23 844

原创 设计模式 - 责任链模式(Chain Of Responsibility)

设计模式 - 责任链模式(Chain Of Responsibility)

2024-12-17 19:43:19 1013

原创 计算机操作系统 - 死锁详解

计算机操作系统 - 死锁详解

2024-12-17 19:39:37 1948

原创 设计模式 - 策略模式

设计模式 - 策略模式

2024-12-17 19:35:42 523

原创 设计模式 - 单例

设计模式- 单例模式

2024-12-17 19:31:33 1824

原创 springboot线程池配置

【代码】springboot线程池配置。

2024-12-16 17:13:16 265

idea vue插件 离线安装包

idea vue插件 离线安装包

2024-12-17

idea mybatisX 插件离线安装包 代码生成 代码跳转 mybatis插件

idea mybatisX 插件离线安装包 代码生成 代码跳转 mybatis插件

2024-12-17

idea apipost 插件离线安装包

idea apipost 插件离线安装包

2024-12-17

java oracle11 数据库连接驱动java oracle8 数据库连接驱动 ojdbc11-23.3.0.23.09.jar

java oracle11 数据库连接驱动java oracle8 数据库连接驱动 ojdbc11-23.3.0.23.09.jar

2024-12-17

java oracle11 数据库连接驱动java oracle8 数据库连接驱动 ojdbc8-23.2.0.0.jar

java oracle11 数据库连接驱动java oracle8 数据库连接驱动 ojdbc8-23.2.0.0.jar

2024-12-17

java oracle8 数据库连接驱动 ojdbc8-23.2.0.0.jar

java oracle8 数据库连接驱动 ojdbc8-23.2.0.0.jar

2024-12-17

mysql8数据库连接驱动

mysql8驱动 java mysql 数据库连接驱动

2024-12-17

java - juc - 多线程 - 学习 -思维导图

java - juc - 多线程 - 学习 -思维导图

2024-12-16

空空如也

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

TA关注的人

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