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

Compare commits

...

8 Commits

Author SHA1 Message Date
Guide
28bfed8001
Merge pull request #2421 from qiliq/main
修改错别字
2024-07-03 21:43:04 +08:00
Guide
73e95d744a [docs update]完善对ssh协议的介绍 2024-07-03 21:38:19 +08:00
玘珞
86ee67bf35
Merge branch 'Snailclimb:main' into main 2024-07-03 20:43:03 +08:00
玘珞
98fabd8fd8
Update java-concurrent-questions-03.md
修改错别字
2024-07-03 20:42:36 +08:00
Guide
51d90f0241
Merge pull request #2417 from xturboq/main
Update docker-intro.md
2024-07-01 08:14:38 +08:00
Guide
c6ae419e61
Merge pull request #2418 from qq651901286/patch-1
更新Update java-basic-questions-01.md文件对BigDecimal描述,比较值内容应该用compareTo
2024-07-01 08:14:04 +08:00
qixiao
e03d26e203
更新Update java-basic-questions-01.md文件对BigDecimal描述,比较值内容应该用compareTo 2024-06-30 22:23:35 +08:00
xturboq
398fe935a9
Update docker-intro.md
少个字
2024-06-30 13:20:47 +08:00
4 changed files with 14 additions and 9 deletions

View File

@ -102,7 +102,7 @@ FTP 是基于客户—服务器C/S模型而设计的在客户端与 FTP
![FTP工作过程](https://oss.javaguide.cn/github/javaguide/cs-basics/network/ftp.png)
注意 ⚠FTP 是一种不安全的协议因为它在传输过程中不会对数据进行加密。因此FTP 传输的文件可能会被窃听或篡改。建议在传输敏感数据时使用更安全的协议,如 SFTP一种基于 SSH 协议的安全文件传输协议,用于在网络上安全地传输文件)。
注意 ⚠FTP 是一种不安全的协议因为它在传输过程中不会对数据进行加密。因此FTP 传输的文件可能会被窃听或篡改。建议在传输敏感数据时使用更安全的协议,如 SFTPSSH File Transfer Protocol一种基于 SSH 协议的安全文件传输协议,用于在网络上安全地传输文件)。
## Telnet:远程登陆协议
@ -114,10 +114,12 @@ FTP 是基于客户—服务器C/S模型而设计的在客户端与 FTP
**SSHSecure Shell** 基于 TCP 协议,通过加密和认证机制实现安全的访问和文件传输等业务。
SSH 的经典用途是登录到远程电脑中执行命令。除此之外SSH 也支持隧道协议、端口映射和 X11 连接。借助 SFTP 或 SCP 协议SSH 还可以传输文件。
SSH 的经典用途是登录到远程电脑中执行命令。除此之外SSH 也支持隧道协议、端口映射和 X11 连接(允许用户在本地运行远程服务器上的图形应用程序)。借助 SFTPSSH File Transfer Protocol 或 SCPSecure Copy Protocol 协议SSH 还可以安全传输文件。
SSH 使用客户端-服务器模型,默认端口是 22。SSH 是一个守护进程,负责实时监听客户端请求,并进行处理。大多数现代操作系统都提供了 SSH。
如下图所示SSH ClientSSH 客户端)和 SSH ServerSSH 服务器)通过公钥交换生成共享的对称加密密钥,用于后续的加密通信。
![SSH:安全的网络传输协议](https://oss.javaguide.cn/github/javaguide/cs-basics/network/ssh-client-server.png)
## RTP:实时传输协议

View File

@ -662,15 +662,18 @@ System.out.println(a == b);// false
```java
BigDecimal a = new BigDecimal("1.0");
BigDecimal b = new BigDecimal("0.9");
BigDecimal b = new BigDecimal("1.00");
BigDecimal c = new BigDecimal("0.8");
BigDecimal x = a.subtract(b);
BigDecimal x = a.subtract(c);
BigDecimal y = b.subtract(c);
System.out.println(x); /* 0.1 */
System.out.println(y); /* 0.1 */
System.out.println(Objects.equals(x, y)); /* true */
System.out.println(x); /* 0.2 */
System.out.println(y); /* 0.20 */
// 比较内容,不是比较值
System.out.println(Objects.equals(x, y)); /* false */
// 比较值相等用相等compareTo相等返回0
System.out.println(0 == x.compareTo(y)); /* true */
```
关于 `BigDecimal` 的详细介绍,可以看看我写的这篇文章:[BigDecimal 详解](https://javaguide.cn/java/basis/bigdecimal.html)。

View File

@ -457,7 +457,7 @@ public class ThreadPoolTest {
这里提供的一种**任务持久化**的思路,这里所谓的任务持久化,包括但不限于:
1. 设计一张任务表任务存储到 MySQL 数据库中。
1. 设计一张任务表任务存储到 MySQL 数据库中。
2. Redis 缓存任务。
3. 将任务提交到消息队列中。

View File

@ -73,7 +73,7 @@ tag:
### 什么是 Docker?
说实话关于 Docker 是什么并太好说,下面我通过四点向你说明 Docker 到底是个什么东西。
说实话关于 Docker 是什么并太好说,下面我通过四点向你说明 Docker 到底是个什么东西。
- **Docker 是世界领先的软件容器平台。**
- **Docker** 使用 Google 公司推出的 **Go 语言** 进行开发实现,基于 **Linux 内核** 提供的 CGroup 功能和 namespace 来实现的,以及 AUFS 类的 **UnionFS** 等技术,**对进程进行封装隔离,属于操作系统层面的虚拟化技术。** 由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。