当前位置: 首页 > news >正文

0.计网和操作系统

0.计网和操作系统

熟悉计算机网络和操作系统知识,包括 TCP/IP、UDP、HTTP、DNS 协议等。

常见的页面置换算法:

  1. 先进先出(FIFO)算法:将最早进入内存的页面替换出去。
  2. 最近最少使用(LRU)算法:将最近最少被访问的页面替换出去。
  3. 最不常用(LFU)算法:将最不经常被访问的页面替换出去。
  4. 时钟置换算法:通过一个指针按照顺时针方向遍历页面,当需要替换页面时,替换指针指向的页面,并将该页面的访问位清零。

原文链接:https://blog.csdn.net/weixin_72256328/article/details/138327484

线程同步方式

互斥锁 读写锁 信号量 屏障 事件

  1. 互斥锁(Mutex):采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个,所以可以保证公共资源不会被多个线程同时访问。比如 Java 中的 synchronized 关键词和各种 Lock 都是这种机制。
  2. 读写锁(Read-Write Lock):允许多个线程同时读取共享资源,但只有一个线程可以对共享资源进行写操作。
  3. 信号量(Semaphore):它允许同一时刻多个线程访问同一资源,但是需要控制同一时刻访问此资源的最大线程数量
  4. 屏障(Barrier):屏障是一种同步原语,用于等待多个线程到达某个点再一起继续执行。当一个线程到达屏障时,它会停止执行并等待其他线程到达屏障,直到所有线程都到达屏障后,它们才会一起继续执行。比如 Java 中的 CyclicBarrier 是这种机制。
  5. 事件(Event) :Wait/Notify:通过通知操作的方式来保持多线程同步,还可以方便的实现多线程优先级的比较操作。

进程间通信方式

管道 消息队列 共享内存 信号 套接字

1.管道:包括无名管道和命名管道,无名管道半双工,只能用于具有亲缘关系的进程直接的通信(父子进程或者兄弟进程),可以看作一种特殊的文件;命名管道可以允许无亲缘关系进程间的通信。

2.消息队列:消息的链接表,放在内核中。消息队列独立于发送与接收进程,进程终止时,消息队列及其内容并不会被删除;消息队列可以实现消息的随机查询,可以按照消息的类型读取。

3.信号量semaphore(PV操作):是一个计数器,可以用来控制多个进程对共享资源的访问。信号量用于实现进程间的互斥与同步。

4.信号:用于通知接收进程某个事件的发生。

5.内存共享:使多个进程访问同一块内存空间。

6.套接字socket:用于不同主机直接的通信。

进程的调度策略

操作系统使用多种进程调度策略来管理进程的执行顺序:

  • 先来先服务(FCFS):按照进程到达的顺序调度,简单但可能导致长时间等待的“饥饿”问题。
  • 短作业优先(SJF):优先调度执行时间短的任务,减少平均等待时间,但需要准确预测任务长度。
  • 优先级调度:根据进程的优先级选择执行顺序,优先级高的进程先执行。可以是抢占式或非抢占式。
  • 时间片轮转(RR):每个进程分配一个固定的时间片,轮流执行,适用于时间共享系统,保证公平。
  • 多级反馈队列(MLFQ):根据进程的执行行为动态调整优先级,短任务优先执行,长任务逐渐降低优先级。

PV操作怎么确保别的进程不会修改

  • P操作(等待操作):当一个进程执行P操作时,它会检查信号量的值,如果信号量值大于0,则将其减1并继续执行;如果等于0,则进程会被阻塞,等待信号量变为正值。
  • V操作(释放操作):V操作则是将信号量的值加1,并唤醒等待队列中的一个阻塞进程。

通过原子操作保证信号量的修改不可被其他进程打断,操作系统中的信号量机制能够确保在多进程或多线程环境中同步共享资源。

0.计算机网络

1.键入网址

2.TCP/IP OSI模型 关系 各个层常见的协议

3.DNS解析流程(重点!!!)

4.TCP 三次握手 四次挥手(重点!!!)

5.TCP如何保证可靠性?(重点!!!)

5.TCP和UDP的区别?(重点!!!)

6.HTTP状态码? Get Post方法区别?

7.HTTP和HTTPS区别?(重点!!!)

8.HTTPS加密过程?(重点!!!)

1.HTTP键入网址过程

  1. 在浏览器中输入指定网页的 URL。
  2. 浏览器通过 DNS 协议,获取域名对应的 IP 地址。
  3. 浏览器根据 IP 地址和端口号,向目标服务器发起一个 TCP 连接请求。
  4. 浏览器在 TCP 连接上,向服务器发送一个 HTTP 请求报文,请求获取网页的内容。
  5. 服务器收到 HTTP 请求报文后,处理请求,并返回 HTTP 响应报文给浏览器。
  6. 浏览器收到 HTTP 响应报文后,解析响应体中的 HTML 代码,渲染网页的结构和样式,同时根据 HTML 中的其他资源的 URL(如图片、CSS、JS 等),再次发起 HTTP 请求,获取这些资源的内容,直到网页完全加载显示。
  7. 浏览器在不需要和服务器通信时,可以主动关闭 TCP 连接,或者等待服务器的关闭请求。

2.各层常见协议

应用层:HTTP DNS WebSocket SSH FTP Telnet SMTP POP3/IMAP RTP

传输层:TCP UDP

网络层:IP ARP ICMP NAT OSPF RIP BGP

3.DNS解析流程(重点!!!)

www.server.com.

浏览器缓存 操作系统缓存 hosts文件 本地dns服务器 根域dns服务器 顶级dns服务器 权威dns服务器

1.浏览器缓存:检查浏览器是否已经缓存了域名的IP地址。

2.操作系统缓存:如果浏览器缓存没有,操作系统检查其缓存。

3.hosts文件:如果操作系统缓存也没有,查看hosts文件。

4.本地DNS服务器:如果以上都没有,请求本地DNS服务器。

5.根域DNS服务器:本地DNS服务器向根域DNS服务器请求。

6.顶级DNS服务器:根域DNS服务器指向顶级DNS服务器。

7.权威DNS服务器:顶级DNS服务器指向权威DNS服务器,获取域名的实际IP地址。

返回结果:权威DNS服务器将IP地址返回给本地DNS服务器,然后由本地DNS服务器返回给操作系统,最终由操作系统返回给浏览器。

4.TCP 三次握手 四次挥手(重点!!!)

一:TCP三次握手 (Three-Way Handshake)过程
SYN:客户端发送一个SYN(同步序列编号)报文到服务器,并进入SYN_SENT状态,等待服务器确认。

SYN-ACK:服务器收到SYN报文后,发送一个SYN+ACK(确认)报文给客户端,并进入SYN_RCVD状态。

ACK:客户端收到服务器的SYN+ACK报文后,会发送一个ACK报文给服务器,然后双方进入ESTABLISHED(已建立连接)状态,完成三次握手,开始数据传输。

目的
TCP三次握手的主要目的是建立一个可靠的会话连接,确保双方通信端口的正确性,以及同步双方的序列号和确认号,为数据传输做好准备。

二:TCP四次挥手 (Four-Way Handshake)过程
FIN:当通信的一方完成所有数据传输后,会发送一个FIN(结束)报文来关闭连接。

ACK:另一方收到FIN报文后,会发送一个ACK报文作为应答,并将接收到的序列号加1。

FIN:在发送了ACK报文后,该方也可以发送一个FIN报文请求关闭连接。

ACK:最初发送FIN报文的一方收到对方的FIN报文后,发送一个ACK报文作为回应,然后等待足够时间以确保对方收到这个ACK报文。

目的
四次挥手的目的是允许双方均能清楚地关闭已建立的TCP连接。由于TCP是全双工的,因此每个方向必须单独进行关闭。

5.TCP如何保证可靠性?(重点!!!)

1.建立连接:通过三次握手建立连接,保证双方都有通信的能力
2.序号机制:保证数据是按序、完整到达
3.合理分片:tcp会按最大传输单元(MTU)合理分片,接收方会缓存未按序到达的数据,重新
排序后交给应用层。
4.数据校验:TCP报文头有校验和,用于校验报文是否损坏
5.超时重传:如果发送一直收不到应答,可能是发送数据丢失,也可能是应答丢失,发送方再等待一段时间之后都会进行重传。
6.流量控制:当接收方来不及处理发送方的数据,能通过滑动窗口,提示发送方降低发送的速率,防止包丢失。
7.拥塞控制:网络层拥堵造成的拥塞,包括慢启动,拥塞避免,快速重传三种机制

滑动窗口和拥塞控制(细节)

1.TCP滑动窗口是一种流量控制机制,用于调节发送方可以发送而不必等待确认的数据量。它的关键特点是:

  • 发送窗口:发送方可以发送不超过滑动窗口大小的数据,而不必等待每个数据包的确认。
  • 接收窗口:接收方告知发送方它可以接受的最大数据量,从而决定窗口的大小。
  • 窗口滑动:当发送方收到确认(ACK)后,窗口向前滑动,允许发送更多的数据包。

滑动窗口提高了传输效率,通过动态调整发送速率,避免了网络拥塞

2.TCP拥塞控制是用于避免网络拥塞的机制,主要包括以下四个阶段:

  • 慢启动(Slow Start):初始发送速率较低,通过指数增长逐步增加拥塞窗口。
  • 拥塞避免(Congestion Avoidance):当网络负载增加时,发送窗口线性增长,避免过快增加流量。
  • 快速重传(Fast Retransmit):在检测到重复ACK时,立即重传丢失的数据包,而不必等待超时。
  • 快速恢复(Fast Recovery):当网络拥塞发生时,减少窗口,但不从慢启动重新开始。

3.拥塞控制在什么场景下效果不好

TCP拥塞控制在高带宽-延迟产品(BDP)的网络中效果不好。例如,在高速、长距离的网络(如卫星网络)中,拥塞窗口的增长速度较慢,导致带宽利用率低。此外,移动网络和无线网络中,由于丢包率较高,TCP可能会错误地将丢包视为网络拥塞,从而过度降低传输速率。

6.TCP和UDP的区别?(重点!!!)

**区别:**连接 服务对象 可靠性 传输方式 分片不同 首部开销

1. 连接

  • TCP 是面向连接的传输层协议,传输数据前先要建立连接。
  • UDP 是不需要连接,即刻传输数据。

2. 服务对象

  • TCP 是一对一的两点服务,即一条连接只有两个端点。
  • UDP 支持一对一、一对多、多对多的交互通信

3. 可靠性

  • TCP 是可靠交付数据的,数据可以无差错、不丢失、不重复、按序到达。
  • UDP 是尽最大努力交付,不保证可靠交付数据。但是我们可以基于 UDP 传输协议实现一个可靠的传输协议,比如 QUIC 协议,具体可以参见这篇文章:如何基于 UDP 协议实现可靠传输?(opens new window)

4. 拥塞控制、流量控制

  • TCP 有拥塞控制和流量控制机制,保证数据传输的安全性。
  • UDP 则没有,即使网络非常拥堵了,也不会影响 UDP 的发送速率。

5. 首部开销

  • TCP 首部长度较长,会有一定的开销,首部在没有使用「选项」字段时是 20 个字节,如果使用了「选项」字段则会变长的。
  • UDP 首部只有 8 个字节,并且是固定不变的,开销较小。

6. 传输方式

  • TCP 是流式传输,没有边界,但保证顺序和可靠。
  • UDP 是一个包一个包的发送,是有边界的,但可能会丢包和乱序。

7. 分片不同

  • TCP 的数据大小如果大于 MSS 大小,则会在传输层进行分片,目标主机收到后,也同样在传输层组装 TCP 数据包,如果中途丢失了一个分片,只需要传输丢失的这个分片。
  • UDP 的数据大小如果大于 MTU 大小,则会在 IP 层进行分片,目标主机收到后,在 IP 层组装完数据,接着再传给传输层。

TCP 和 UDP 应用场景:

由于 TCP 是面向连接,能保证数据的可靠性交付,因此经常用于:

  • FTP 文件传输;
  • HTTP / HTTPS;

由于 UDP 面向无连接,它可以随时发送数据,再加上 UDP 本身的处理既简单又高效,因此经常用于:

  • 包总量较少的通信,如 DNSSNMP 等;
  • 视频、音频等多媒体通信;
  • 广播通信;

7.HTTP状态码?

状态码?

1XX:

2XX: 成功响应

200:查询请求被成功处理。

201:POST 添加请求被成功处理。

202:服务端已经接收到了请求,但是还未处理。

204:服务端已经成功处理了请求,但是没有返回任何内容。

3XX: 重定向

301:资源被永久重定向了。比如你的网站的网址更换了。

302::资源被临时重定向了。

4XX: 客户端错误

400:发送的 HTTP 请求存在问题。比如请求参数不合法、请求方法错误。

401:未认证却请求需要认证之后才能访问的资源。

403:直接拒绝 HTTP 请求,不处理。一般用来针对非法请求。

404:请求的资源未在服务端找到。

405:请求方式和处理请求方式不一致。

409:表示请求的资源与服务端当前的状态存在冲突,请求无法被处理。

5XX: 服务的错误

500:服务端出问题了(通常是服务端出 Bug 了)。

502:我们的网关将请求转发到服务端,但是服务端返回的却是一个错误的响应。

8.Get Post方法区别?

GET和POST的区别? 参数位置 数据长度限制 安全性 幂等性和缓存

前提是GET和POST都要满足RFC规范。

虽然GET和POST都是使用HTTP协议传输数据,但它们在一些方面有明显的区别:

  1. 参数位置
    GET请求的参数附加在URL的末尾,形式为:http://example.com/path?param1=value1&param2=value2

​ POST请求的参数包含在请求的正文中,不会显示在URL中。

  1. 数据长度限制
    GET请求的参数附加在URL后面,受限于URL的长度限制,一般由浏览器限制,不同浏览器可能有不同的限制,例如IE限制为2083字节。

​ POST请求的参数在请求的正文中,没有明确的长度限制,一般受到服务器端的配置限制。

  1. 安全性
    GET请求的参数会显示在URL中,因此对于敏感信息不宜使用GET请求,因为敏感信息可能会被浏览器保存、历史记录或被其他人看到。

​ POST请求的参数在请求的正文中,相对来说更加安全,但仍然不是绝对安全,因为HTTP是明文传输的,只有使用HTTPS才能加密传 输数据。

  1. 缓存与历史记录
    GET请求会被浏览器主动缓存,而POST请求不会被缓存,除非手动设置。因为GET请求的参数附加在URL后面,浏览器会将URL作为缓存的标识。

  2. 幂等性
    GET请求是幂等的,多次执行相同的GET请求,服务器的状态不会发生变化。

​ POST请求不是幂等的,多次执行相同的POST请求可能会产生不同的结果,因为可能会导致服务器状态的变化。

GET和POST的使用场景?
GET请求主要用于获取数据,因为它是幂等的、可缓存的。常见的使用场景包括:

搜索引擎的搜索请求
获取网页内容
获取资源文件等
POST请求主要用于向服务器提交数据,因为它可能会导致状态变化或产生副作用。常见的使用场景包括:

提交表单数据
上传文件
发表评论等
在实际应用中,要根据具体的需求选择GET或POST方法,合理地使用它们可以提升应用的性能和安全性。

9.HTTP和HTTPS区别?(重点!!!)

  • HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输
  • HTTP 连接建立相对简单, TCP 三次握手之后便可进行 HTTP 的报文传输。而 HTTPS 在 TCP 三次握手之后,还需进行 SSL/TLS 的握手过程,才可进入加密报文传输。
  • 两者的默认端口不一样,HTTP 默认端口号是 80,HTTPS 默认端口号是 443。
  • HTTPS 协议需要向 CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。

10.HTTPS加密过程?(重点!!!)

HTTP 由于是明文传输,所以安全上存在以下三个风险:

  • 窃听风险,比如通信链路上可以获取通信内容,用户号容易没。

    解决方法:混合加密。非对称加密(建立连接前使用1次) + 对称加密(建立连接后一直用)

  • 篡改风险,比如强制植入垃圾广告,视觉污染,用户眼容易瞎。

    解决方法:摘要算法(哈希函数) + 数字签名(给hash值加密,防止被替换。私钥签名,公钥验证)

  • 冒充风险,比如冒充淘宝网站,用户钱容易没。

    解决方法:服务器注册公钥到CA;CA用私钥对服务器公钥进行签名,并颁发数字证书;服务器将证书和公钥传给客户端;客户端用CA的公钥验证服务器的证书;合法,就用服务器公钥加密数据然后发送给服务器;服务器私钥解密,接收客户端发送的信息;

11.IPv4和IPv6的区别?

ipv6相比于ipv4提供更大的地址空间更好的自动配置安全性

  1. 地址长度
    • IPv4:32位地址,约43亿个地址(例如:192.168.0.1)。
    • IPv6:128位地址,地址数量极大(例如:2001:0db8::1)。
  2. 地址表示
    • IPv4:点分十进制表示(如:192.168.0.1)。
    • IPv6:冒号十六进制表示(如:2001:0db8::1)。
  3. 地址空间
    • IPv4:地址数量有限,面临耗尽问题。
    • IPv6:地址数量巨大,能够满足未来需求。
  4. 配置
    • IPv4:通常需要手动配置或通过DHCP分配。
    • IPv6:支持自动配置(SLAAC)。
  5. 安全性
    • IPv4:没有默认的安全机制。
    • IPv6:默认支持IPSec,更加注重安全。

相关文章:

0.计网和操作系统

0.计网和操作系统 熟悉计算机网络和操作系统知识,包括 TCP/IP、UDP、HTTP、DNS 协议等。 常见的页面置换算法: 先进先出(FIFO)算法:将最早进入内存的页面替换出去。最近最少使用(LRU)算法&am…...

探索Prompt Engineering:开启大型语言模型潜力的钥匙

前言 什么是Prompt?Prompt Engineering? Prompt可以理解为向语言模型提出的问题或者指令,它是激发模型产生特定类型响应的“触发器”。 Prompt Engineering,即提示工程,是近年来随着大型语言模型(LLM,Larg…...

滚雪球学Oracle[3.3讲]:数据定义语言(DDL)

全文目录: 前言一、约束的高级使用1.1 主键(Primary Key)案例演示:定义主键 1.2 唯一性约束(Unique)案例演示:定义唯一性约束 1.3 外键(Foreign Key)案例演示&#xff1a…...

ssrf学习(ctfhub靶场)

ssrf练习 目录 ssrf类型 漏洞形成原理(来自网络) 靶场题目 第一题(url探测网站下文件) 第二关(使用伪协议) 关于http和file协议的理解 file协议 http协议 第三关(端口扫描&#xff09…...

ElasticSearch之网络配置

对官方文档Networking的阅读笔记。 ES集群中的节点,支持处理两类通信平面 集群内节点之间的通信,官方文档称之为transport layer。集群外的通信,处理客户端下发的请求,比如数据的CRUD,检索等,官方文档称之…...

【C语言进阶】系统测试与调试

1. 引言 在开始本教程的深度学习之前,我们需要了解整个教程的目标及其结构,以及为何进阶学习是提升C语言技能的关键。 目标和结构: 教程目标:本教程旨在通过系统化的学习,从单元测试、系统集成测试到调试技巧&#xf…...

多个单链表的合成

建立两个非递减有序单链表,然后合并成一个非递增有序的单链表。 注意:建立非递减有序的单链表,需要采用创建单链表的算法 输入格式: 1 9 5 7 3 0 2 8 4 6 0 输出格式: 9 8 7 6 5 4 3 2 1 输入样例: 在这里给出一组输入。例如&#xf…...

『建议收藏』ChatGPT Canvas功能进阶使用指南!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,专注于分享AI全维度知识,包括但不限于AI科普,AI工…...

Ollama 运行视觉语言模型LLaVA

Ollama的LLaVA(大型语言和视觉助手)模型集已更新至 1.6 版,支持: 更高的图像分辨率:支持高达 4 倍的像素,使模型能够掌握更多细节。改进的文本识别和推理能力:在附加文档、图表和图表数据集上进…...

gdb 调试 linux 应用程序的技巧介绍

使用 gdb 来调试 Linux 应用程序时,可以显著提高开发和调试的效率。gdb(GNU 调试器)是一款功能强大的调试工具,适用于调试各类 C、C 程序。它允许我们在运行程序时检查其状态,设置断点,跟踪变量值的变化&am…...

Java项目实战II基于Java+Spring Boot+MySQL的房产销售系统(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者 一、前言 随着房地产市场的蓬勃发展,房产销售业务日益复杂,传统的手工管理方式已难以满…...

aws(学习笔记第一课) AWS CLI,创建ec2 server以及drawio进行aws画图

aws(学习笔记第一课) 使用AWS CLI 学习内容: 使用AWS CLI配置密钥对创建ec2 server使用drawio(vscode插件)进行AWS的画图 1. 使用AWS CLI 注册AWS账号 AWS是通用的云计算平台,可以提供ec2,vpc,SNS以及clo…...

【Python】Eventlet 异步网络库简介

Eventlet 是一个 Python 的异步网络库,它使用协程(green threads)来简化并发编程。通过非阻塞的 I/O 操作,Eventlet 使得你可以轻松编写高性能的网络应用程序,而无需处理复杂的回调逻辑或编写多线程代码。它广泛应用于…...

【JNI】数组的基本使用

在上一期讲了基本类型的基本使用,这期来说一说数组的基本使用 HelloJNI.java:实现myArray函数,把一个整型数组转换为双精度型数组 public class HelloJNI { static {System.loadLibrary("hello"); }private native String HelloW…...

React跨平台

React的跨平台应用开发详解如下: 一、跨平台能力 React本身是一个用于构建用户界面的JavaScript库,但它通过React Native等框架实现了跨平台应用开发的能力。React Native允许开发者使用JavaScript和React来编写原生应用,这些应用可以在iOS和…...

如何在 SQL 中更新表中的记录?

当你需要修改数据库中已存在的数据时,UPDATE 语句是你的首选工具。 这允许你更改表中一条或多条记录的特定字段值。 下面我将详细介绍如何使用 UPDATE 语句,并提供一些开发建议和注意事项。 基础用法 假设我们有一个名为 employees 的表,…...

宠物饮水机的水箱低液位提醒如何实现?

ICMAN液位检测芯片轻松实现宠物饮水机的水箱低液位提醒功能! 工作原理 : 基于双通道电容式单点液位检测原理 方案特点: 液位检测精度高达1mm,超强抗干扰,动态CS 10V 为家用电器水位提醒的应用提供了一种简单而又有…...

EXCEL_光标百分比

Public Sub InitCells()Dim iSheet As LongFor iSheet Sheets.Count To 1 Step -1Sheets(iSheet).ActivateActiveWindow.Zoom 85ActiveWindow.ScrollRow 1ActiveWindow.ScrollColumn 1Sheets(iSheet).Range("A1").ActivateNext iSheetEnd Sub对日项目中的文档满天…...

(一)Web 网站服务之 Apache

一、Apache 的作用和特点 作用:Apache 是一款开源的网站服务器端软件,为网站的运行提供了稳定的基础。特点: 开源免费:这使得任何人都可以免费使用和修改它。模块化设计:具有高度的灵活性,可以根据需求选择…...

英语词汇小程序小程序|英语词汇小程序系统|基于java的四六级词汇小程序设计与实现(源码+数据库+文档)

英语词汇小程序 目录 基于java的四六级词汇小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&a…...

AI学习指南深度学习篇-学习率衰减的实现机制

AI学习指南深度学习篇-学习率衰减的实现机制 前言 在深度学习中,学习率是影响模型训练的重要超参数之一。合理的学习率设置不仅可以加速模型收敛,还可以避免训练过程中出现各种问题,如过拟合或训练不收敛。学习率衰减是一种动态调整学习率的…...

My_qsort() -自己写的 qsort 函数

2024 - 10 - 05 - 笔记 - 21 作者(Author):郑龙浩 / 仟濹(网名) My_qsort()- 自己写的qsort函数 My_qsort为自己写的qsort函数,但是采用的不是快速排序,而是冒泡排序,是为了模仿qsort函数而尝试写出来的函数。 思路&#xff1a…...

《向量数据库指南》——Mlivus Cloud打造生产级AI应用利器

哈哈,各位向量数据库和AI应用领域的朋友们,大家好!我是大禹智库的向量数据库高级研究员王帅旭,也是《向量数据库指南》的作者。今天,我要和大家聊聊如何使用Mlivus Cloud来搭建生产级AI应用。这可是个热门话题哦,相信大家都非常感兴趣! 《向量数据库指南》 使用Mlivus …...

Electron 进程通信

预加载(preload)脚本只能访问部分 Node.js API,但是主进程可以访问全部API。此时,需要使用进程通信。 比如,在preload.js中,不能访问__dirname,不能使用 Node 中的 fs 模块,但主进程…...

Kubernetes资源详解

华子目录 1.Kubernetes中的资源1.1资源管理介绍1.2资源管理方式1.2.1命令式对象管理1.2.2kubectl常见command命令1.2.3资源类型1.2.4常用资源类型 基本命令示例运行和调试命令示例高级命令示例总结 其他命令示例create和apply区别案例显示命名空间查看命名空间中的pod如何对外暴…...

C++11之线程

编译环境:Qt join:阻塞当前线程,直到线程函数退出 detach:将线程对象与线程函数分离,线程不依赖线程对象管理 注:join和detach两者必选其一,否则线程对象的回收会影响线程的回收,导致…...

界星空科技漆包线行业称重系统

万界星空科技为漆包线行业提供的称重系统是其MES制造执行系统解决方案中的一个重要组成部分。以下是对该系统的详细介绍: 一、系统概述 万界星空科技漆包线行业称重系统,是集成在MES系统中的一个功能模块,专门用于漆包线生产过程中的重量检…...

RabbitMQ的高级特性-事务

事务:RabbitMQ是基于AMQP协议实现的, 该协议实现了事务机制, 因此RabbitMQ也⽀持事务机制. SpringAMQP也提供了对事务相关的操作. RabbitMQ事务允许开发者确保消息的发送和接收是原⼦性的, 要么全部成功, 要么全部失败 配置事务管理器: Bean public Ra…...

Qt Linguist手册

概述 Qt 为将 Qt C 和 Qt Quick 应用程序翻译成当地语言提供了出色的支持。发布经理、翻译和开发人员可以使用 Qt 工具来完成他们的任务。 发布经理对应用程序的发布负总责。通常,他们负责协调开发人员和翻译人员的工作。他们可以使用 lupdate 工具同步源代码和翻…...

【简介Sentinel-1】

Sentinel-1是欧洲航天局哥白尼计划(GMES)中的地球观测卫星,由Sentinel-1A和Sentinel-1B两颗卫星组成。以下是对Sentinel-1的详细介绍: 一、基本信息 卫星名称:Sentinel-1 所属计划:欧洲航天局哥白尼计划…...