Skip to content

Commit 53debb8

Browse files
committed
数组
1 parent eeea93c commit 53debb8

File tree

4 files changed

+12
-0
lines changed

4 files changed

+12
-0
lines changed

SUMMARY.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@
193193
- [Array](/algorithm/LeetCode/Array.md)
194194
- [Partition Array](/algorithm/LeetCode/Array/Partition-Array.md)
195195
- [Subarray Sum](/algorithm/LeetCode/Array/Subarray-Sum.md)
196+
- [String](/algorithm/LeetCode/String.md)
197+
- [Restore IP Addresses](/algorithm/LeetCode/String/ip.md)
196198

197199
## 设计模式
198200

algorithm/LeetCode/String.md

Whitespace-only changes.

algorithm/LeetCode/String/ip.md

Whitespace-only changes.

java/virtual-machine/classloader.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
加载,验证,准备,解析,初始化,使用和卸载。其中验证,准备,解析3个部分统称为连接。
88

99
这7个阶段发生顺序如下图:
10+
1011
![](http://upload-images.jianshu.io/upload_images/3985563-0108cc612a217322.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
1112

1213
加载,验证,准备,初始化,卸载这5个阶段的顺序是确定的,而解析阶段则不一定:它在某些情况下可以在初始化完成后在开始,这是为了支持Java语言的运行时绑定。
@@ -27,6 +28,7 @@
2728

2829
### 4.类加载的具体过程:
2930
**加载:**
31+
3032
①.通过一个类的全限定名来获取定义此类的二进制字节流
3133

3234
②.将这个字节流所代表的静态存储结构转换为方法区内的运行时数据结构
@@ -40,13 +42,21 @@
4042
包含四个阶段的校验动作
4143

4244
a.文件格式验证
45+
4346
验证字节流是否符合Class文件格式的规范,并且能被当前版本的虚拟机处理。
47+
4448
b.元数据验证
49+
4550
对类的元数据信息进行语义校验,是否不存在不符合Java语言规范的元数据信息
51+
4652
c.字节码验证
53+
4754
最复杂的一个阶段,主要目的是通过数据流和控制流分析,确定程序语义是合法的,符合逻辑的。对类的方法体进行校验分析,保证被校验类的方法在运行时不会做出危害虚拟机安全的事件。
55+
4856
d.符号引用验证
57+
4958
最后一个阶段的校验发生在虚拟机将符号引用转换为直接引用的时候,这个转换动作将在连接的第三个阶段——解析阶段中发生。
59+
5060
符号验证的目的是确保解析动作能正常进行。
5161

5262
**准备:**

0 commit comments

Comments
 (0)