diff --git a/docs/notes/Docker.md b/docs/notes/Docker.md index 6ce2d961..701d53ca 100644 --- a/docs/notes/Docker.md +++ b/docs/notes/Docker.md @@ -12,7 +12,7 @@ 由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上需要进行大量的环境配置操作。 -Docker 主要解决环境配置问题,它是一种虚拟化技术,对进程进行隔离,被隔离的进程独立于宿主操作系统和其它隔离的进程。使用 Docker 可以不修改应用程序代码,不需要开发人员学习特定环境下的技术,就能够将现有的应用程序部署在其他机器中。 +Docker 主要解决环境配置问题,它是一种虚拟化技术,对进程进行隔离,被隔离的进程独立于宿主操作系统和其它隔离的进程。使用 Docker 可以不修改应用程序代码,不需要开发人员学习特定环境下的技术,就能够将现有的应用程序部署在其它机器上。

@@ -20,19 +20,17 @@ Docker 主要解决环境配置问题,它是一种虚拟化技术,对进程 虚拟机也是一种虚拟化技术,它与 Docker 最大的区别在于它是通过模拟硬件,并在硬件上安装操作系统来实现。 -

- -

+

## 启动速度 -启动虚拟机需要启动虚拟机的操作系统,再启动应用,这个过程非常慢; +启动虚拟机需要先启动虚拟机的操作系统,再启动应用,这个过程非常慢; 而启动 Docker 相当于启动宿主操作系统上的一个进程。 ## 占用资源 -虚拟机是一个完整的操作系统,需要占用大量的磁盘、内存和 CPU,一台机器只能开启几十个的虚拟机。 +虚拟机是一个完整的操作系统,需要占用大量的磁盘、内存和 CPU 资源,一台机器只能开启几十个的虚拟机。 而 Docker 只是一个进程,只需要将应用以及相关的组件打包,在运行时占用很少的资源,一台机器可以开启成千上万个 Docker。 @@ -42,11 +40,11 @@ Docker 主要解决环境配置问题,它是一种虚拟化技术,对进程 ## 更容易迁移 -提供一致性的运行环境,可以在不同的机器上进行迁移,而不用担心环境变化导致无法运行。 +提供一致性的运行环境。已经打包好的应用可以在不同的机器上进行迁移,而不用担心环境变化导致无法运行。 ## 更容易维护 -使用分层技术和镜像,使得应用可以更容易复用重复部分。复用程度越高,维护工作也越容易。 +使用分层技术和镜像,使得应用可以更容易复用重复的部分。复用程度越高,维护工作也越容易。 ## 更容易扩展 diff --git a/docs/notes/Git.md b/docs/notes/Git.md index 4c6b3e73..47ac0888 100644 --- a/docs/notes/Git.md +++ b/docs/notes/Git.md @@ -47,14 +47,14 @@ Git 的版本库有一个称为 Stage 的暂存区以及最后的 History 版本 - git reset -- files 使用当前分支上的修改覆盖暂存区,用来撤销最后一次 git add files - git checkout -- files 使用暂存区的修改覆盖工作目录,用来撤销本地修改 -

+

可以跳过暂存区域直接从分支中取出修改,或者直接提交修改到分支中。 - git commit -a 直接把所有文件的修改添加到暂存区然后执行提交 - git checkout HEAD -- files 取出最后一次修改,可以用来进行回滚操作 -

+

# 分支实现 diff --git a/docs/notes/Java 虚拟机.md b/docs/notes/Java 虚拟机.md index e88bd7d3..dd07e69c 100644 --- a/docs/notes/Java 虚拟机.md +++ b/docs/notes/Java 虚拟机.md @@ -129,11 +129,7 @@ public class Test { } ``` -<<<<<<< HEAD 在上述代码中,a 与 b 引用的对象实例互相持有了对象的引用,因此当我们把对 a 对象与 b 对象的引用去除之后,由于两个对象还存在互相之间的引用,导致两个 Test 对象无法被回收。 -======= -在上述代码中,a与b引用的对象实例互相持有了对象的引用,因此当我们把对a对象与b对象的引用去除之后,由于两个对象还存在互相之间的引用,导致两个Test对象无法被回收。 ->>>>>>> d6edf647e963aa07e0ab197aecfa3cd88307f1b7 ### 2. 可达性分析算法 @@ -218,7 +214,7 @@ obj = null; ```java Object obj = new Object(); -PhantomReference pf = new PhantomReference(obj); +PhantomReference pf = new PhantomReference(obj, null); obj = null; ``` diff --git a/docs/notes/pics/be608a77-7b7f-4f8e-87cc-f2237270bf69.png b/docs/notes/pics/be608a77-7b7f-4f8e-87cc-f2237270bf69.png new file mode 100644 index 00000000..86909b10 Binary files /dev/null and b/docs/notes/pics/be608a77-7b7f-4f8e-87cc-f2237270bf69.png differ diff --git a/docs/notes/计算机网络 - 概述.md b/docs/notes/计算机网络 - 概述.md index 3e24a27a..1ebf33bd 100644 --- a/docs/notes/计算机网络 - 概述.md +++ b/docs/notes/计算机网络 - 概述.md @@ -107,9 +107,9 @@ 其中表示层和会话层用途如下: -- **表示层** :数据压缩和解压缩、加密和解密以及数据格式变化等,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。 +- **表示层** :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。 -- **会话层** :建立及管理和终止会话。 +- **会话层** :建立及管理会话。 五层协议没有表示层和会话层,而是将这些功能留给应用程序开发者处理。 diff --git a/docs/pics/be608a77-7b7f-4f8e-87cc-f2237270bf69.png b/docs/pics/be608a77-7b7f-4f8e-87cc-f2237270bf69.png new file mode 100644 index 00000000..86909b10 Binary files /dev/null and b/docs/pics/be608a77-7b7f-4f8e-87cc-f2237270bf69.png differ