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

计算机网络基础

文章目录

    • 名词含义
    • 1.应用层
      • 1.1网络应用原理
        • 1.1.1网络应用体系
        • 1.1.2进程通信
        • 1.1.3可供程序使用的运输服务
        • 1.1.4因特网的运输服务
        • 1.1.5应用层协议
      • 1.2WEB和HTTP
        • 1.2.1HTTP概述
        • 1.2.2持续与非持续连接
        • 1.2.3报文格式

名词含义

ISP(Internet Service Provider,因特网服务提供商):
ISP通过不同的技术和协议将用户的设备与互联网连接,ISP不仅提供上网服务,还可以提供域名注册、网页托管、数据中心、网络安全等附加服务。

分类大概为:个人/家庭ISP、商用/企业ISP、托管ISP等

主机(端系统):

包括传统的如pc、服务器、手机等,和非传统的包括电视、汽车、家用电器、运输控制系统等设备。

套接字接口(socket interface):

是一种用于网络通信的编程接口,允许程序通过网络与其他计算机上的程序进行数据交换。它定义了程序如何请求操作系统利用网络基础设施将数据从本地端系统传输到远程端系统的特定程序。

DSL、DSLAM:

DSL(Digital Subscriber Line,数字用户线):宽带接入住宅的方式其一(另一个是电缆),每个用户的DSL调制解调器使用电话线与本地中心局(CO)中的数字用户线接入复用器(DSLAM)进行交换数据。

**AON、PON:**两种光纤分布体系

AON(Active Optical Network,有源光纤网络):本质上是交换以太网

PON(Passive Optical Network,无源光纤网络):

1.应用层

1.1网络应用原理

1.1.1网络应用体系

现代网络应用程序中两种主流体系结构:客户-服务器体系结构(CS)、对等体系结构(P2P)

客户-服务器体系结构(CS)
特点:客户之间不能直接通信、有固定的ip地址
常见这类的应用程序:Web、FTP、Telnet、电子邮件

由于单台服务器很难跟上所有客户请求,因此出现了托管大量主机的数据中心(被用于创建强大的虚拟服务器 )

P2P体系结构
特点:对位于数据中心的专用服务器依赖很小、应用程序在间断连接的主机之间直接通信。还具有自拓展性

1.1.2进程通信

进程通信实际上是进程。 在一对进程之间的通信中,发起通信的进程被标志为客户,在绘画开始等待联系的进程为服务器。

多个进程运行在相同的端系统上时,使用进程间通信机制进行通信。
两个不同端系统通过跨越计算机网络 交换报文 进行通信

进程与网络间的接口(socket)

多数程序由通信进程对组成,每对的两个进程互相发送报文,一个进程向另一个进程发送报文必须经过网络。进程通过一个叫**套接字(socket)**的软件接口向网络发送报文和接受报文。

(就像两个房子之间通过一个快递员来回通信,套接字就是那个门)

套接字是同一台主机内应用层与传输层之间的接口。这个套接字是建立网络应用程序的可编程接口,因此也被称为应用编程接口(API,Application Programming Interface)

开发者可以控制套接字在应用端的一切
但对传输层的控制仅限于对传输层协议的选择和设定几个传输层参数

进程寻址

一台主机的进程为了向另一台主机运行的进程发送分组,接收进程需要有一个地址。

标识该进程需要定义: 主机的地址;在目的主机中指定接收进程的标识符

1.1.3可供程序使用的运输服务
1.1.4因特网的运输服务

1.TCP服务

特点:面向连接服务,可靠的数据传输服务 ,还具有拥塞控制机制

面向连接服务:客户和服务器之间进行三次握手之后,TCP连接就会在两个进程的套接字之间建立。当要解除连接时,需要进行四次挥手。
可靠的数据传输服务:进程依靠TCP通信,能够无差错、按适当顺序交付所有发送的数据,且没有自己的丢失和冗余。

2.UDP服务

特点:不提供不必要的服务、无连接
在两个进程之间没有握手过程,是一种不可靠数据传输协议

由于TCP和UDP本身没有任何加密机制,所以出现了TCP加强版:TLS(Transport Layer Security),有加密、数据完整型、端点鉴别的服务。

1.1.5应用层协议

HTTP(超文本传输)、DNS(域名系统)、FTP(文本传输协议)、Telnet(远程终端协议)、SMTP(电子邮件系统)、POP3(邮件读取协议)、SNMP(简单网络关系协议)、DHCP(动态主机设置协议)等


1.2WEB和HTTP

1.2.1HTTP概述

HTTP(HyperText Transfer Protocol)是Web的应用层协议。HTTP定义了客户和服务器之间报文的结构和报文交换方式。

HTTP使用TCP运输协议。客户先发起一个与服务器的TCP连接,连接建立之后,浏览器和服务器进程就可以通过套接字端口访问TCP。

HTTP初始版本为HTTP/1.0 ,到2020年为止,大部分HTTP事务采用HTTP/1.1 现在也出现了HTTP/2.0

HTTP是一个无状态协议,不会保存任何关于客户的任何信息

1.2.2持续与非持续连接

非持续连接的HTTP

每个TCP连接只传输一个请求报文和响应报文。如果一个web页面中有10个png图片和1个html文件,那么请求该页面需要11次TCP连接。

持续连接的HTTP

服务器在发送响应之后保持该TCP连接打开

HTTP/1.0采用非持续连接 HTTP/1.1采用持续连接

1.2.3报文格式

请求报文

请求方法:GET、POST、HEAD、PUT、DELETE

POST /index.html HTTP/1.1   请求方法 url 协议/版本号
Host: node4.anna.nssctf.cn:28511   localhost  主机地址
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: <a target=_blank href="http://localhost/" style="color: rgb(51, 102, 153); text-decoration: none;">http://localhost/</a>
Cookie:
Content-Length: 25
Content-Type: application/x-www-form-urlencoded
请求空行 标志着请求头结束,请求正文(请求体)的开始
username=aa&password=1234

如果是GET请求 在队友目录后面加?之后进行传参。例如:GET /index.php?name=1 HTTP/1.1

响应报文


相关文章:

计算机网络基础

文章目录 名词含义1.应用层1.1网络应用原理1.1.1网络应用体系1.1.2进程通信1.1.3可供程序使用的运输服务1.1.4因特网的运输服务1.1.5应用层协议 1.2WEB和HTTP1.2.1HTTP概述1.2.2持续与非持续连接1.2.3报文格式 名词含义 ISP(Internet Service Provider&#xff0c;因特网服务提…...

Rabbitmq追问1

如果消费端代码异常&#xff0c;未手动确认&#xff0c;那么这个消息去哪里 2024-12-31 21:19:12 如果消费端代码发生异常&#xff0c;未手动确认&#xff08;ACK&#xff09;的情况下&#xff0c;消息的处理行为取决于消息队列的实现和配置&#xff0c;以下是基于 RabbitMQ …...

基于SpringBoot和OAuth2,实现通过Github授权登录应用

基于SpringBoot和OAuth2&#xff0c;实现通过Github授权登录应用 文章目录 基于SpringBoot和OAuth2&#xff0c;实现通过Github授权登录应用0. 引言1. 创建Github应用2. 创建SpringBoot测试项目2.1 初始化项目2.2 设置配置文件信息2.3 创建Controller层2.4 创建Html页面 3. 启动…...

python数据分析:使用pandas库读取和编辑Excel表

使用 Pandas&#xff0c;我们可以轻松地读取和写入Excel 文件&#xff0c;之前文章我们介绍了其他多种方法。 使用前确保已经安装pandas和 openpyxl库&#xff08;默认使用该库处理Excel文件&#xff09;。没有安装的可以使用pip命令安装&#xff1a; pip install pandas ope…...

SpringCloud源码分析-Lettue Redis

redis connection异步发送 底层是nio channel...

Linux(13)——网络概述

目录 一、TCP/IP 网络模型&#xff1a; 1、应用层&#xff08;Application&#xff09;&#xff1a; 2、传输层&#xff08;Transport&#xff09;&#xff1a; 3、互联网层&#xff08;Internet or network&#xff09;&#xff1a; 4、链路层&#xff08;Link&#xff0…...

PHP框架+gatewayworker实现在线1对1聊天--聊天界面布局+创建websocket连接(5)

文章目录 聊天界面布局html代码 创建websocket连接为什么要绑定&#xff1f; 聊天界面布局 在View/Index目录下创建index.html html代码 <div id"chat"><div id"nbar"><div class"pull-left">与牛德胜正在聊天...</div…...

Qos的详细解释

QoS&#xff08;Quality of Service&#xff09;&#xff0c;即服务质量&#xff0c;是一种用于网络管理的技术&#xff0c;旨在确保不同类型的数据流&#xff08;如语音、视频、文件传输等&#xff09;在网络中按优先级和要求得到适当的带宽、延迟、抖动和丢包率等服务&#x…...

未来20年在大语言模型相关研究方向--大语言模型的优化与改进

未来20年在大语言模型相关研究方向 模型性能优化 模型架构创新:研究新型的模型架构,如探索更高效的Transformer变体、融合递归神经网络(RNN)和卷积神经网络(CNN)的优点,以提高模型的性能、可扩展性和适应性,满足不同应用场景对模型效率和效果的要求。高效训练算法:开…...

【Vue】vue-router使用addRoute动态加载路由后刷新页面404

场景&#xff1a;动态加载路由&#xff0c;点击菜单路由跳转正常&#xff0c;但刷新页面报404 原因&#xff1a;使用404做异常路由捕获 刷新页面会导致路由丢失&#xff0c;重建路由时先加载了静态路由&#xff08;包含异常路由捕获404&#xff09;&#xff0c;此时动态路由还未…...

《计算机组成及汇编语言原理》阅读笔记:p177-p177

《计算机组成及汇编语言原理》学习第 13 天&#xff0c;p177-p177 总结&#xff0c;总计 1 页。 一、技术总结 1.real mode A programming model where the program has access to the entire capability of the machine, bypassing security and memory management. Useful…...

《从入门到精通:蓝桥杯编程大赛知识点全攻略》(一)-递归实现指数型枚举、递归实现排列型枚举

本篇博客将聚焦于通过递归来实现两种经典的枚举方法&#xff1a;指数型枚举和排列型枚举。这两种枚举方式在计算机科学和算法竞赛中都有广泛应用&#xff0c;无论是在解题中&#xff0c;还是在实际工作中都极具价值。 目录 前言 斐波那契数列递归 递归实现指数型枚举 算法思…...

游泳溺水识别数据集,对25729张图片进行YOLO,COCO JSON, VOC XML 格式的标注,溺水平均识别率在89.9%

游泳溺水识别数据集&#xff0c;对25729张图片进行YOLO&#xff0c;COCO JSON, VOC XML 格式的标注&#xff0c;溺水识别率在92&#xff05; 训练结果 数据集和标签 验证 游泳测试视频 根据测试的视频来获取检测结果&#xff1a; 游泳测试视频的置信度设置60% 检测结果如下&…...

coredns报错plugin/forward: no nameservers found

coredns报错plugin/forward: no nameservers found并且pod无法启动 出现该报错原因 是coredns获取不到宿主机配置的dns地址 查看宿主机是否有dns地址 resolvectl status 我这里是配置正确后&#xff0c;如果没配置过以下是不会显示出dns地址的 给宿主机增加静态dns地址之后将…...

【欢迎讨论方案一的可行性】SpringBoot集成netty,在handler中调用@Component注解的类

在Netty中处理请求时&#xff0c;调用一个由Spring Boot管理的Component注解的类 在Netty中处理请求时&#xff0c;调用一个由Spring Boot管理的Component注解的类&#xff0c;需要确保Spring上下文能够正确地注入这些组件。 方法一&#xff1a;使用Autowired注入Spring组件 …...

如何在LaTeX文档中为脚注添加横线,并调整横线的长度和厚度。

当然&#xff0c;以下是一个简单的例子&#xff0c;展示了如何在LaTeX文档中使用scrextend宏包来为脚注添加横线&#xff0c;并调整横线的长度和厚度。 ### 步骤1&#xff1a;导入scrextend宏包 在你的LaTeX文档的导言区&#xff08;\begin{document}之前的部分&#xff09;&…...

【C语言】可移植性陷阱与缺陷(三):整数的大小

目录 一、概述 二、整数类型的大小差异 三、 跨平台代码中的整数大小问题 3.1. 内存使用 3.2. 性能问题 3.3. 数据截断 3.4. 序列化/反序列化 四、解决整数大小问题的策略 4.1. 使用固定大小的整数类型 4.2. 条件编译 4.3. 避免假设 4.4. 文档化 五、总结 在C语言编…...

nginx基础篇 - 控制命令详解:启动/停止、配置文件检查/重新加载、nginx平滑升级

文章目录 1. nginx命令2 使用Unix工具发送信号3 常用操作3.1 检查配置文件3.2 启动nginx3.3 停止nginx3.4 重启nginx 4 平滑升级nginx 1. nginx命令 执行nginx -h命令可以看到所有的nginx命令及其解释&#xff1a; nginx命令使用方法: nginx [-?hvVtTq] [-s signal] [-p p…...

汽车驾校转型做无人机执照培训详解, “驾” 起无人机培训新未来?

汽车驾校转型做无人机执照培训&#xff0c;这一趋势确实在一定程度上预示着无人机培训领域的新未来。以下是对这一转型的详细分析&#xff1a; 一、转型背景 1. 无人机行业快速发展&#xff1a; 无人机技术在农业、影视、安防、物流等多个领域的应用不断拓展&#xff0c;市场…...

如何科学评估与选择新版本 Python 编程语言和工具

文章目录 摘要引言评估新版本的关键因素适用性评估成本与收益分析 新版本功能的实际应用示例代码模块详细解析示例代码模块代码模块解析实际应用场景如何运行与配图 QA环节总结参考资料 摘要 随着技术的快速发展&#xff0c;编程语言和软件工具不断推出新版本&#xff0c;带来…...

TS中的enum变量和普通object区别

文章目录 一、定义二、编译后的输出三、类型安全四、使用场景五、混合使用 这两种数据经常混用&#xff0c;但是也有一定区别&#xff0c;特殊情况下混用会报错 一、定义 enum变量通常用使用常量object则没有限制值的类型 // 案例 enum Direction {Up,Down,Left,Right } const …...

SOT23-6封装小功率H桥常用直流电机、磁保持继电器驱动芯片大全

H桥常用直流电机、磁保持继电器驱动芯片大全 前言替换规则 引脚定义1&#xff1a;GR6205 | 2&#xff5e;5.5V | 200mAFM116C | 2.5V~5V | 500mATMI8118 | 1.6V&#xff5e;7.2V | 1.35AMX116L | 2&#xff5e;7V | 500mAMX116H | 2&#xff5e;8V | 800/1000 mAHT7K1201 | 1.8…...

Spring中的反射

反射是框架设计的灵魂&#xff0c;它可以使框架更加灵活和可扩展。框架是一种半成品软件&#xff0c;可以在其基础上进行软件开发&#xff0c;极大地简化了编码过程。而反射机制则是将类的各个组成部分封装为其他对象&#xff0c;对类进行解剖。通过反射&#xff0c;我们可以在…...

5.12--DenseNet

1.网络结构介绍 DenseNet最大的特点是对相同大小的特征图来说&#xff0c;每一层都与前馈层和后序层相连&#xff0c;以及两层之间是拼接起来的而不是简单的相加。该网络主要由Dense块和Transition层组成。 结构介绍&#xff1a; 密集连接&#xff1a;每层都和前馈层和后面的…...

PeaZip:支持200+格式,跨平台解压工具,安全又高效

PeaZip 作为一款功能全面的压缩工具&#xff0c;不仅完全免费且开源&#xff0c;兼容多种主流操作系统&#xff0c;包括 Windows、Linux 和 macOS。它不仅支持常见的压缩格式如 ZIP、RAR、7Z、TAR 和 GZIP&#xff0c;还能处理超过 200 种不同的文件格式&#xff0c;满足用户多…...

go项目使用gentool生成model的gen.go问题

Gen Tool 是一个没有依赖关系的二进制文件&#xff0c;可以用来从数据库生成结构。 使用方法&#xff1a; go install gorm.io/gen/tools/gentoollatest在项目根目录,执行连接的数据库中指定某几张表结构生成数据库model层 gentool -dsn "root:123456tcp(localhost:330…...

物理知识1——电流

说起电流&#xff0c;应该从电荷说起&#xff0c;而说起电荷&#xff0c;应该从原子说起。 1 原子及其结构 常见的物质是由分子构成的&#xff0c;而分子又是由原子构成的&#xff0c;有的分子是由多个原子构成&#xff0c;有的分子只由一个原子构成。而原子的构成如图1所示。…...

VDSuit-FuLL全身惯性动捕设备在人形机器人遥操作的具体应用

随着具身智能的火热&#xff0c;人形机器人遥操作的话题又回到了大众视野。人形机器人的遥操作有众多实现方案&#xff0c;其中基于动作捕捉设备进行人形机器人的遥操作成为了目前业内讨论较多的方向。动作捕捉指的是一种可以实时跟踪、记录、重建角色运动轨迹&#xff0c;并将…...

从零开始学TiDB(8) TiFlash 主要架构

一.TiFlash的主要架构 二.TiFlash 主要功能 1.异步复制 2.一致性读取 T0 时刻从客户端写入两行数据 k1 value100 k999 value7 分别写入到了两个region&#xff0c;并且产生raft log 此时TiFlash还没有TiKV的这两行数据 此时TiFlash同步了key1 value100的数据 还没有同步 …...

LeetCode题解:2625. 扁平化嵌套数组,递归

原题链接 https://leetcode.cn/problems/flatten-deeply-nested-array/ 题目解析 题目要求我们将一个多维数组扁平化到指定的深度。具体来说&#xff0c;我们需要将数组中的子数组扁平化&#xff0c;直到达到给定的深度n。如果子数组的深度大于n&#xff0c;则不进行扁平化。…...

基于深度学习的视觉检测小项目(五) 项目真正的开端

之前的所有都是项目概况和基础知识的铺垫&#xff0c;从今天开始真正进入项目。 首先明确一下项目的流程&#xff1a; • 任务分解分块&#xff0c;并作出每一块的大致功能规划 • 拆解工种&#xff0c;任务分派&#xff0c;约定工种间的接口方式和数据交互方式 • 按照任务块…...

使用ExecutorService和@Async来使用多线程

文章目录 使用ExecutorService和Async来使用多线程采用ExecutorService来使用多线程多线程过程的详细解释注意事项优点 使用Async来使用多线程对比Async和ExecutorService的多线程使用方式使用 ExecutorService 的服务类使用 Async 的服务类异步任务类自定义线程池主应用类解释…...

ArcGIS基础:使用【标识】工具完成分区统计线要素的长度

如上所示&#xff0c;有某个地区的部分管线数据&#xff0c;都是一些线要素。 如上所示&#xff0c;这片区域有好几个管理员&#xff0c;并有自己的管辖范围&#xff0c;现在需要根据这个范围&#xff0c;简单统计一下各自管理员&#xff08;张三、李四、王五&#xff09;范围内…...

专业高程转换工具 | 海拔高度与椭球高度在线转换系统

海拔高度转换工具&#xff1a;专业的高程转换系统 在线体验 立即使用 欢迎访问我的博客&#xff1a;https://cdtools.click&#xff0c;这里有更多实用的工具和技术分享。 工具背景 在测绘、工程、GIS 等领域&#xff0c;经常需要处理不同高程系统之间的转换。最常见的需求…...

springboot自定义注解的使用

目录 背景分析代码 背景 需求&#xff1a;对现有系统中所有数据库表都建立一张对应的备份表&#xff1b;在对主表进行增加&#xff0c;修改&#xff0c;删除操作的同时对备份表进行相同的操作。首先想到的应该是备份一个数据库就完事了~不过实际情况没这么简单&#xff0c;总之…...

Wallpaper壁纸制作学习记录13

骨骼物理模拟 Wallpaper Engine还允许您为人偶变形骨骼配置某些物理模拟。选择骨骼时&#xff0c;点击编辑约束来配置骨骼这些属性。 警告 请记住&#xff0c;物理模拟可能会根据用户的最大FPS设置略微改变其行为。 Wallpaper Engine编辑器将始终以高帧速率渲染。您可以将壁纸…...

Linux系统离线部署MySQL详细教程(带每步骤图文教程)

1、登录官网下载对应的安装包 MySQL :: Developer Zone 2、将压缩包上传到服务器上&#xff0c;这里直接上传到/usr/local路径上 使用sftp工具上传到/usr/local目录上 3、解压压缩包 tar -xf mysql-8.0.39-linux-glibc2.17-x86_64.tar.xz 4、将mysql-8.0.39-linux-glibc2.17…...

慧集通iPaaS集成平台低代码训练-实践篇

练习使用帐号信息&#xff1a; 1.致远A8平台&#xff08;请自行准备测试环境&#xff09; 慧集通连接器配置相关信息 访问地址&#xff1a; rest账号&#xff1a;rest rest密码&#xff1a; OA账号&#xff1a; 2.云星空&#xff08;请自行准备测试环境&#xff09; 连接…...

C程序设计:计算球的体积

问题&#xff1a;根据输入的半径值&#xff0c;计算球的体积。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪…...

AWS re:Invent 2024 - Dr. Werner Vogels 主题演讲

今年&#xff0c;我有幸亲临现场参加了所有的 keynote&#xff0c;每一场都让我感受到深深的震撼。无论是全新的功能发布&#xff0c;还是令人眼前一亮的新特性展示&#xff0c;每一场 keynote 都精彩纷呈&#xff0c;充满干货&#xff0c;值得反复学习和回味。 恰好&#xff…...

如何使用 `uiautomator2` 控制 Android 设备并模拟应用操作_VIVO手机

在 Android 自动化测试中,uiautomator2 是一个非常强大的工具,能够帮助我们通过 Python 控制 Android 设备执行各种操作。今天,我将通过一个简单的示例,介绍如何使用 uiautomator2 控制 Android 设备,执行特定的应用启动、广告跳过以及其他 UI 操作。此示例的目标是自动化…...

分析服务器 systemctl 启动gozero项目报错的解决方案

### 分析 systemctl start beisen.service 报错 在 Linux 系统中&#xff0c;systemctl 是管理系统和服务的主要工具。当我们尝试重启某个服务时&#xff0c;如果服务启动失败&#xff0c;systemctl 会输出错误信息&#xff0c;帮助我们诊断和解决问题。 本文将通过一个实际的…...

UE蓝图战利品掉落动画

战利品掉落动画&#xff0c;其实就是添加个冲量 add impulse 什么是冲量&#xff1f; 冲量 &#xff08;impulse&#xff09;是作用在物体上的力 在 时间上的累积效果...

Singleton: WebRTC中ThreadManager中的单例模式

1. 什么是单例模式&#xff1a; 旨在确保一个类只有一个实例&#xff0c;并提供全局访问点。 应用场景&#xff1a;需要一个全局唯一的实例&#xff0c;避免资源浪费。 2. 单例模式的实现&#xff1a; Lazy Initialization&#xff08;懒汉式&#xff09;&#xff08;延迟初…...

node.js之---CommonJS 模块

CommonJS概念 在 Node.js 中&#xff0c;CommonJS 是一种模块化规范&#xff0c;它定义了如何在 JavaScript 中创建和使用模块。CommonJS 是 Node.js 使用的默认模块系统。它让开发者能够分离代码&#xff0c;便于重用和维护。 CommonJS 模块的基本特性 模块导出 在 CommonJ…...

LabVIEW 使用 Resample Waveforms VI 实现降采样

在数据采集与信号处理过程中&#xff0c;降采样是一种重要的技术&#xff0c;用于在减少数据点的同时保留信号的关键特性&#xff0c;从而降低存储和计算需求。本文通过 LabVIEW 的 Resample Waveforms (continuous).vi 示例&#xff0c;详细介绍如何使用该功能实现波形数据的降…...

ArrayList 和LinkedList的区别比较

前言 ‌ArrayList和LinkedList的主要区别在于它们的底层数据结构、性能特点以及适用场景。‌ArrayList和LinkedList从名字分析&#xff0c;他们一个是Array&#xff08;动态数组&#xff09;的数据结构&#xff0c;一个是Linked&#xff08;链表&#xff09;的数据结构&#x…...

Linux进程控制

进程控制 进程创建系统调用fork()fork()的认识 进程终止进程等待wait/waitpid方法使用 wait/waitpid() 回收子进程 进程程序替换程序替换原理exec*进程替换函数 进程创建 系统调用fork() fork()&#xff1a;一个&#xff1a;Linux系统中的系统调用&#xff0c;用于创建子进程…...

分库分表之后,id 主键如何处理?

面试题 分库分表之后&#xff0c;id 主键如何处理&#xff1f; 面试官心理分析 其实这是分库分表之后你必然要面对的一个问题&#xff0c;就是 id 咋生成&#xff1f;因为要是分成多个表之后&#xff0c;每个表都是从 1 开始累加&#xff0c;那肯定不对啊&#xff0c;需要一…...

矩阵简单问题(Java)

问题&#xff1a; 顺时针打印二维方阵&#xff1a; 1 2 3 4 15 5 6 7 8 14 9 10 11 12 13 13 14 15 16 public class Test1 {public static void main(String[] args) {int[][] arr new int[][]{{1, 2, 3, 4,100},{5, 6, 7, 8,101},{9, 10, 11, 12,102},{13, 14, 15, 16,…...