Skip to content
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

4 changes: 2 additions & 2 deletions docs/java/JAD反编译tricks.md
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion docs/java/basis/Java基础知识.md
Original file line number Diff line number Diff line change
Expand Up @@ -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》中明确指出:

Expand Down
2 changes: 1 addition & 1 deletion docs/java/jvm/类加载过程.md
Original file line number Diff line number Diff line change
Expand Up @@ -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。

**基本数据类型的零值:**

Expand Down
6 changes: 3 additions & 3 deletions docs/network/HTTPS中的TLS.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ HTTPS 使用 TLS 保证安全,这里的“安全”分两部分,一是传输
3. 发送者发送消息和 MAC 值
4. 接收者根据接收到的消息计算 MAC 值
5. 接收者根据自己计算的 MAC 值与收到的 MAC 对比
6. 如果对比成功,说明消息完整,并来自与正确的发送者
6. 如果对比成功,说明消息完整,并来自于正确的发送者

### 3.2.3. 数字签名

Expand All @@ -77,7 +77,7 @@ HTTPS 使用 TLS 保证安全,这里的“安全”分两部分,一是传输

### 3.2.4. 公钥密码

公钥密码也叫非对称密码,由公钥和私钥组成,它是最开始是为了解决秘钥的配送传输安全问题,即,我们不配送私钥,只配送公钥,私钥由本人保管
公钥密码也叫非对称密码,由公钥和私钥组成,它最开始是为了解决秘钥的配送传输安全问题,即,我们不配送私钥,只配送公钥,私钥由本人保管
它与数字签名相反,公钥密码的私钥用于解密、公钥用于加密,每个人都可以用别人的公钥加密,但只有对应的私钥才能解开密文
client:明文 + 公钥 = 密文
server:密文 + 私钥 = 明文
Expand All @@ -95,7 +95,7 @@ server:密文 + 私钥 = 明文

### 3.2.6. 密码小结

| 密码 | 作用 | 组成 |
| 密码 | 作用 | 组成 |
| :-- | :-- | :-- |
| 消息认证码 | 确认消息的完整、并对消息的来源认证 | 共享秘钥+消息的散列值 |
| 数字签名 | 对消息的散列值签名 | 公钥+私钥+消息的散列值 |
Expand Down