From 6981c6b521c7a7dc45d1a2dded2f1c54f962ec36 Mon Sep 17 00:00:00 2001 From: "hailong.sha" Date: Fri, 9 Apr 2021 10:33:58 +0800 Subject: [PATCH 1/4] fix syntax error fix syntax error --- .../java/JAD\345\217\215\347\274\226\350\257\221tricks.md" | 4 ++-- "docs/network/HTTPS\344\270\255\347\232\204TLS.md" | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git "a/docs/java/JAD\345\217\215\347\274\226\350\257\221tricks.md" "b/docs/java/JAD\345\217\215\347\274\226\350\257\221tricks.md" index 8a0a80de233..f9d11bec9a9 100644 --- "a/docs/java/JAD\345\217\215\347\274\226\350\257\221tricks.md" +++ "b/docs/java/JAD\345\217\215\347\274\226\350\257\221tricks.md" @@ -217,12 +217,12 @@ public final class DummyEnum extends Enum { return (DummyEnum[])$VALUES.clone(); } - // 调用父类的valueOf方法,并墙砖返回 + // 调用父类的valueOf方法,并强转返回 public static DummyEnum valueOf(String s) { return (DummyEnum)Enum.valueOf(DummyEnum, s); } - // 默认提供一个私有的私有两个参数的构造器,并调用父类Enum的构造器 + // 默认提供一个私有的两个参数的构造器,并调用父类Enum的构造器 private DummyEnum(String s, int i) { super(s, i); diff --git "a/docs/network/HTTPS\344\270\255\347\232\204TLS.md" "b/docs/network/HTTPS\344\270\255\347\232\204TLS.md" index 4132144608c..641d7baf501 100644 --- "a/docs/network/HTTPS\344\270\255\347\232\204TLS.md" +++ "b/docs/network/HTTPS\344\270\255\347\232\204TLS.md" @@ -61,7 +61,7 @@ HTTPS 使用 TLS 保证安全,这里的“安全”分两部分,一是传输 3. 发送者发送消息和 MAC 值 4. 接收者根据接收到的消息计算 MAC 值 5. 接收者根据自己计算的 MAC 值与收到的 MAC 对比 -6. 如果对比成功,说明消息完整,并来自与正确的发送者 +6. 如果对比成功,说明消息完整,并来自于正确的发送者 ### 3.2.3. 数字签名 @@ -77,7 +77,7 @@ HTTPS 使用 TLS 保证安全,这里的“安全”分两部分,一是传输 ### 3.2.4. 公钥密码 -公钥密码也叫非对称密码,由公钥和私钥组成,它是最开始是为了解决秘钥的配送传输安全问题,即,我们不配送私钥,只配送公钥,私钥由本人保管 +公钥密码也叫非对称密码,由公钥和私钥组成,它最开始是为了解决秘钥的配送传输安全问题,即,我们不配送私钥,只配送公钥,私钥由本人保管 它与数字签名相反,公钥密码的私钥用于解密、公钥用于加密,每个人都可以用别人的公钥加密,但只有对应的私钥才能解开密文 client:明文 + 公钥 = 密文 server:密文 + 私钥 = 明文 @@ -95,7 +95,7 @@ server:密文 + 私钥 = 明文 ### 3.2.6. 密码小结 -| 密码 | 作用 | 组成 | +| 密码 | 作用 | 组成 | | :-- | :-- | :-- | | 消息认证码 | 确认消息的完整、并对消息的来源认证 | 共享秘钥+消息的散列值 | | 数字签名 | 对消息的散列值签名 | 公钥+私钥+消息的散列值 | From 3ec57ecb3de4cf19a673d9955e707331215ec3d2 Mon Sep 17 00:00:00 2001 From: vcjmhg Date: Wed, 14 Apr 2021 11:57:43 +0800 Subject: [PATCH 2/4] =?UTF-8?q?Update=20=E7=B1=BB=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E8=BF=87=E7=A8=8B.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 您好,此处final关键字好像拼写错误 --- ...\261\273\345\212\240\350\275\275\350\277\207\347\250\213.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/docs/java/jvm/\347\261\273\345\212\240\350\275\275\350\277\207\347\250\213.md" "b/docs/java/jvm/\347\261\273\345\212\240\350\275\275\350\277\207\347\250\213.md" index cd04e42af54..57e93235be4 100644 --- "a/docs/java/jvm/\347\261\273\345\212\240\350\275\275\350\277\207\347\250\213.md" +++ "b/docs/java/jvm/\347\261\273\345\212\240\350\275\275\350\277\207\347\250\213.md" @@ -52,7 +52,7 @@ Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚 **准备阶段是正式为类变量分配内存并设置类变量初始值的阶段**,这些内存都将在方法区中分配。对于该阶段有以下几点需要注意: 1. 这时候进行内存分配的仅包括类变量(static),而不包括实例变量,实例变量会在对象实例化时随着对象一块分配在 Java 堆中。 -2. 这里所设置的初始值"通常情况"下是数据类型默认的零值(如0、0L、null、false等),比如我们定义了`public static int value=111` ,那么 value 变量在准备阶段的初始值就是 0 而不是111(初始化阶段才会赋值)。特殊情况:比如给 value 变量加上了 fianl 关键字`public static final int value=111` ,那么准备阶段 value 的值就被赋值为 111。 +2. 这里所设置的初始值"通常情况"下是数据类型默认的零值(如0、0L、null、false等),比如我们定义了`public static int value=111` ,那么 value 变量在准备阶段的初始值就是 0 而不是111(初始化阶段才会赋值)。特殊情况:比如给 value 变量加上了 final 关键字`public static final int value=111` ,那么准备阶段 value 的值就被赋值为 111。 **基本数据类型的零值:** From 70b8d306a4536511d57568fb19e503ddb70884f0 Mon Sep 17 00:00:00 2001 From: guide Date: Wed, 14 Apr 2021 17:04:57 +0800 Subject: [PATCH 3/4] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8be31dd456b..ba626f5cdd5 100644 --- a/README.md +++ b/README.md @@ -387,7 +387,7 @@ Dubbo 是一款国产的 RPC 框架,由阿里开源。相关阅读: 如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号“**JavaGuide**”。 -**《Java 面试突击》:** 由本文档衍生的专为面试而生的《Java 面试突击》V3.0 PDF 版本[公众号](#公众号)后台回复 **"面试突击"** 即可领取! +**《Java 面试突击》:** 由本文档衍生的专为面试而生的《Java 面试突击》V4.0 PDF 版本[公众号](#公众号)后台回复 **"面试突击"** 即可领取! ![我的公众号](https://cdn.jsdelivr.net/gh/javaguide-tech/blog-images/2020-08/167598cd2e17b8ec.png) From 67d52a2525b25a20f89d7d1388720a8c143331b6 Mon Sep 17 00:00:00 2001 From: guide Date: Wed, 14 Apr 2021 23:46:54 +0800 Subject: [PATCH 4/4] =?UTF-8?q?Update=20Java=E5=9F=BA=E7=A1=80=E7=9F=A5?= =?UTF-8?q?=E8=AF=86.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Java\345\237\272\347\241\200\347\237\245\350\257\206.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/docs/java/basis/Java\345\237\272\347\241\200\347\237\245\350\257\206.md" "b/docs/java/basis/Java\345\237\272\347\241\200\347\237\245\350\257\206.md" index 02ed672052d..24ec1480480 100644 --- "a/docs/java/basis/Java\345\237\272\347\241\200\347\237\245\350\257\206.md" +++ "b/docs/java/basis/Java\345\237\272\347\241\200\347\237\245\350\257\206.md" @@ -1295,7 +1295,7 @@ public class Test { #### 3.2.4. 使用 `try-with-resources` 来代替`try-catch-finally` 1. **适用范围(资源的定义):** 任何实现 `java.lang.AutoCloseable`或者 `java.io.Closeable` 的对象 -2. **关闭资源和 final 的执行顺序:** 在 `try-with-resources` 语句中,任何 catch 或 finally 块在声明的资源关闭后运行 +2. **关闭资源和 finally 块的执行顺序:** 在 `try-with-resources` 语句中,任何 catch 或 finally 块在声明的资源关闭后运行 《Effecitve Java》中明确指出: