Skip to content

Commit ce9e38d

Browse files
committed
auto commit
1 parent d23eb9f commit ce9e38d

17 files changed

Lines changed: 8 additions & 9 deletions

docs/notes/Java 虚拟机.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
# 一、运行时数据区域
3333

34-
<div align="center"> <img src="pics/11548742157520.gif" width="450"/> </div><br>
34+
<div align="center"> <img src="pics/b01e12b7-6cfc-485b-a03e-a575e6f7b773.jpg"/> </div><br>
3535

3636
## 程序计数器
3737

@@ -41,7 +41,7 @@
4141

4242
每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。从方法调用直至执行完成的过程,就对应着一个栈帧在 Java 虚拟机栈中入栈和出栈的过程。
4343

44-
<div align="center"> <img src="pics/11548741556940.gif" width="500"/> </div><br>
44+
<div align="center"> <img src="pics/ff5b89ac-798e-4fbc-b0ce-da2fc2358570.jpg"/> </div><br>
4545

4646
可以通过 -Xss 这个虚拟机参数来指定每个线程的 Java 虚拟机栈内存大小:
4747

@@ -60,8 +60,7 @@ java -Xss512M HackTheJava
6060

6161
本地方法一般是用其它语言(C、C++ 或汇编语言等)编写的,并且被编译为基于本机硬件和操作系统的程序,对待这些方法需要特别处理。
6262

63-
64-
<div align="center"> <img src="pics/11548742010310.gif"/> </div><br>
63+
<div align="center"> <img src="pics/3034859c-eb5a-402b-b65a-974dcc0c4a46.png"/> </div><br>
6564

6665
##
6766

@@ -141,7 +140,7 @@ Java 虚拟机使用该算法来判断对象是否可被回收,在 Java 中 GC
141140
- 方法区中类静态属性引用的对象
142141
- 方法区中的常量引用的对象
143142

144-
<div align="center"> <img src="pics/11548742505541.gif"/> </div><br>
143+
<div align="center"> <img src="pics/6dd28bfc-6ef7-47cb-af50-a681ebc1bbaa.png"/> </div><br>
145144

146145
### 3. 方法区的回收
147146

@@ -221,7 +220,7 @@ obj = null;
221220

222221
### 1. 标记 - 清除
223222

224-
<div align="center"> <img src="pics/11548743021625.gif"/> </div><br>
223+
<div align="center"> <img src="pics/3fb6e997-0fc9-4178-a691-5907b67bbeae.png"/> </div><br>
225224

226225
标记要回收的对象,然后清除。
227226

@@ -232,13 +231,13 @@ obj = null;
232231

233232
### 2. 标记 - 整理
234233

235-
<div align="center"> <img src="pics/11548743193273.gif"/> </div><br>
234+
<div align="center"> <img src="pics/fb14b808-734c-4634-9c87-e598b1937996.png"/> </div><br>
236235

237236
让所有存活的对象都向一端移动,然后直接清理掉端边界以外的内存。
238237

239238
### 3. 复制
240239

241-
<div align="center"> <img src="pics/11548743457272.gif"/> </div><br>
240+
<div align="center"> <img src="pics/3f04455c-f4ac-4038-a69f-21df133389e1.png"/> </div><br>
242241

243242
将内存划分为大小相等的两块,每次只使用其中一块,当这一块内存用完了就将还存活的对象复制到另一块上面,然后再把使用过的内存空间进行一次清理。
244243

@@ -440,7 +439,7 @@ G1 把堆划分成多个大小相等的独立区域(Region),新生代和
440439

441440
## 类的生命周期
442441

443-
<div align="center"> <img src="pics/11548744140733.gif"/> </div><br>
442+
<div align="center"> <img src="pics/303873db-0d11-4683-a43c-f319b7aef2b6.jpg"/> </div><br>
444443

445444
包括以下 7 个阶段:
446445

12 KB
Loading
17 KB
Loading
17 KB
Loading
16 KB
Loading
15 KB
Loading
64 KB
Loading
15 KB
Loading
22 KB
Loading
12 KB
Loading

0 commit comments

Comments
 (0)