1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-08-01 16:28:03 +08:00

Merge pull request #2060 from paigeman/paigeman-patch-1

chore: fix typos and other errors
This commit is contained in:
Guide 2023-06-27 20:47:03 +08:00 committed by GitHub
commit 4a924c7d89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 16 additions and 16 deletions

View File

@ -195,7 +195,7 @@ tag:
### 4.2. 重要知识点总结
1. **TCP/IP 协议中的网络层向上只提供简单灵活的,无连接的,尽最大努力交付的数据报服务。网络层不提供服务质量的承诺,不保证分组交付的时限所传送的分组可能出错,丢失,重复和失序。进程之间通信的可靠性由运输层负责**
1. **TCP/IP 协议中的网络层向上只提供简单灵活的,无连接的,尽最大努力交付的数据报服务。网络层不提供服务质量的承诺,不保证分组交付的时限,所传送的分组可能出错、丢失、重复和失序。进程之间通信的可靠性由运输层负责**
2. 在互联网的交付有两种,一是在本网络直接交付不用经过路由器,另一种是和其他网络的间接交付,至少经过一个路由器,但最后一次一定是直接交付
3. 分类的 IP 地址由网络号字段(指明网络)和主机号字段(指明主机)组成。网络号字段最前面的类别指明 IP 地址的类别。IP 地址是一种分等级的地址结构。IP 地址管理机构分配 IP 地址时只分配网络号,主机号由得到该网络号的单位自行分配。路由器根据目的主机所连接的网络号来转发分组。一个路由器至少连接到两个网络,所以一个路由器至少应当有两个不同的 IP 地址
4. IP 数据报分为首部和数据两部分。首部的前一部分是固定长度,共 20 字节,是所有 IP 数据包必须具有的源地址目的地址总长度等重要地段都固定在首部。一些长度可变的可选字段固定在首部的后面。IP 首部中的生存时间给出了 IP 数据报在互联网中所能经过的最大路由器数。可防止 IP 数据报在互联网中无限制的兜圈子。

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -196,7 +196,7 @@ DNS Flood 对传统上基于放大的攻击方法做出了改变。借助轻易
> 建立 TCP 连接
可以使用 netcat 工具来建立 TCP 连接,这个工很多操作系统都预装了。打开第一个终端窗口,运行以下命令:
可以使用 netcat 工具来建立 TCP 连接,这个工很多操作系统都预装了。打开第一个终端窗口,运行以下命令:
```bash
$ nc -nvl 8000

View File

@ -95,7 +95,7 @@ OSI 七层模型虽然失败了,但是却提供了很多不错的理论基础
**网络层常见协议**
![网络层常见协议](https://oss.javaguide.cn/github/javaguide/cs-basics/network/nerwork-layer-protocol.png)
![网络层常见协议](images/network-model/nerwork-layer-protocol.png)
- **IPInternet Protocol网际协议**TCP/IP 协议中最重要的协议之一,主要作用是定义数据包的格式、对数据包进行路由和寻址,以便它们可以跨网络传播并到达正确的目的地。目前 IP 协议主要分为两种,一种是过去的 IPv4另一种是较新的 IPv6目前这两种协议都在使用但后者已经被提议来取代前者。
- **ARPAddress Resolution Protocol地址解析协议**ARP 协议解决的是网络层地址和链路层地址之间的转换问题。因为一个 IP 数据报在物理上传输的过程中,总是需要知道下一跳(物理上的下一个目的地)该去往何处,但 IP 地址属于逻辑地址,而 MAC 地址才是物理地址ARP 协议解决了 IP 地址转 MAC 地址的一些问题。

View File

@ -88,7 +88,7 @@ tag:
#### 网络层有哪些常见的协议?
![网络层常见协议](https://oss.javaguide.cn/github/javaguide/cs-basics/network/nerwork-layer-protocol.png)
![网络层常见协议](images/network-model/nerwork-layer-protocol.png)
- **IPInternet Protocol网际协议**TCP/IP 协议中最重要的协议之一,属于网络层的协议,主要作用是定义数据包的格式、对数据包进行路由和寻址,以便它们可以跨网络传播并到达正确的目的地。目前 IP 协议主要分为两种,一种是过去的 IPv4另一种是较新的 IPv6目前这两种协议都在使用但后者已经被提议来取代前者。
- **ARPAddress Resolution Protocol地址解析协议**ARP 协议解决的是网络层地址和链路层地址之间的转换问题。因为一个 IP 数据报在物理上传输的过程中,总是需要知道下一跳(物理上的下一个目的地)该去往何处,但 IP 地址属于逻辑地址,而 MAC 地址才是物理地址ARP 协议解决了 IP 地址转 MAC 地址的一些问题。

View File

@ -101,7 +101,7 @@ inode 是 Linux/Unix 文件系统的基础。那 inode 到是什么?有什么作
**2、软链接Symbolic Link 或 Symlink**
- 软链接和源文件的 inode 节点号不同,而是指向一个文件路径。
- 源文件删除后,链接依然存在,但是指向的是一个无效的文件路径。
- 源文件删除后,链接依然存在,但是指向的是一个无效的文件路径。
- 软连接类似于 Windows 系统中的快捷方式。
- 不同于硬链接,可以对目录或者不存在的文件创建软链接,并且,软链接可以跨越文件系统。
- `ln -s` 命令用于创建软链接。

View File

@ -33,7 +33,7 @@ head:
内存碎片是由内存的申请和释放产生的,通常分为下面两种:
- **内部内存碎片(Internal Memory Fragmentation简称为内存碎片)**:已经分配给进程使用但未被使用的内存。导致内部内存碎片的主要原因是,当采用固定比例比如 2 的幂次方进行内存分配时,进程所分配的内存可能会比其实际所需要的大。举个例子,一个进程只需要 65 字节的内存,但为其分配了 1282^7 大小的内存,那 63 字节的内存就成为了内部内存碎片。
- **外部内存碎片(External Memory Fragmentation简称为外部碎片)**:由于未分配的连续内存区域太小,以至于不能满足任意进程所需要的内存分配请求,这些小片段且不连续的内存空间被称为外部碎片。也就是说,外部内存碎片指的是那些并分配给进程但又不能使用的内存。我们后面介绍的分段机制就会导致外部内存碎片。
- **外部内存碎片(External Memory Fragmentation简称为外部碎片)**:由于未分配的连续内存区域太小,以至于不能满足任意进程所需要的内存分配请求,这些小片段且不连续的内存空间被称为外部碎片。也就是说,外部内存碎片指的是那些并分配给进程但又不能使用的内存。我们后面介绍的分段机制就会导致外部内存碎片。
![内存碎片](https://oss.javaguide.cn/github/javaguide/cs-basics/operating-system/internal-and-external-fragmentation.png)
@ -203,7 +203,7 @@ MMU 将虚拟地址翻译为物理地址的主要机制有 3 种:
![分页机制下的地址翻译过程](https://oss.javaguide.cn/github/javaguide/cs-basics/operating-system/paging-virtual-address-composition.png)
页表中还存有诸如访问标志(标识该页面有没有被访问过)、页类型(该段的类型,例如代码段、数据段等)等信息。
页表中还存有诸如访问标志(标识该页面有没有被访问过)、脏数据标识位等信息。
**通过虚拟页号一定要找到对应的物理页号吗?找到了物理页号得到最终的物理地址后对应的物理页一定存在吗?**
@ -362,7 +362,7 @@ LRU 算法是实际使用中应用的比较多,也被认为是最接近 OPT
**2、软链接Symbolic Link 或 Symlink**
- 软链接和源文件的 inode 节点号不同,而是指向一个文件路径。
- 源文件删除后,链接依然存在,但是指向的是一个无效的文件路径。
- 源文件删除后,链接依然存在,但是指向的是一个无效的文件路径。
- 软连接类似于 Windows 系统中的快捷方式。
- 不同于硬链接,可以对目录或者不存在的文件创建软链接,并且,软链接可以跨越文件系统。
- `ln -s` 命令用于创建软链接。

View File

@ -110,21 +110,21 @@ echo "helloworld!"
字符串是 shell 编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号。这点和 Java 中有所不同。
在单引号中所有的特殊符号,如$和反引号都没有特殊含义。在双引号中,除了"$","\"和反引号,其他的字符没有特殊含义。
在单引号中所有的特殊符号,如$和反引号都没有特殊含义。在双引号中,除了"$"、"\\"、反引号和感叹号(需开启 `history expansion`,其他的字符没有特殊含义。
**单引号字符串:**
```shell
#!/bin/bash
name='SnailClimb'
hello='Hello, I am '$name'!'
hello='Hello, I am $name!'
echo $hello
```
输出内容:
```
Hello, I am '$name'!
Hello, I am $name!
```
**双引号字符串:**
@ -132,7 +132,7 @@ Hello, I am '$name'!
```shell
#!/bin/bash
name='SnailClimb'
hello="Hello, I am "$name"!"
hello="Hello, I am $name!"
echo $hello
```