diff --git a/docs/notes/Java 虚拟机.md b/docs/notes/Java 虚拟机.md index 0b5611c9..1178cabe 100644 --- a/docs/notes/Java 虚拟机.md +++ b/docs/notes/Java 虚拟机.md @@ -31,7 +31,7 @@ # 一、运行时数据区域 -

+

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

+

可以通过 -Xss 这个虚拟机参数来指定每个线程的 Java 虚拟机栈内存大小: @@ -60,8 +60,7 @@ java -Xss512M HackTheJava 本地方法一般是用其它语言(C、C++ 或汇编语言等)编写的,并且被编译为基于本机硬件和操作系统的程序,对待这些方法需要特别处理。 - -

+

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

+

### 3. 方法区的回收 @@ -221,7 +220,7 @@ obj = null; ### 1. 标记 - 清除 -

+

标记要回收的对象,然后清除。 @@ -232,13 +231,13 @@ obj = null; ### 2. 标记 - 整理 -

+

让所有存活的对象都向一端移动,然后直接清理掉端边界以外的内存。 ### 3. 复制 -

+

将内存划分为大小相等的两块,每次只使用其中一块,当这一块内存用完了就将还存活的对象复制到另一块上面,然后再把使用过的内存空间进行一次清理。 @@ -440,7 +439,7 @@ G1 把堆划分成多个大小相等的独立区域(Region),新生代和 ## 类的生命周期 -

+

包括以下 7 个阶段: diff --git a/docs/notes/pics/3034859c-eb5a-402b-b65a-974dcc0c4a46.png b/docs/notes/pics/3034859c-eb5a-402b-b65a-974dcc0c4a46.png new file mode 100644 index 00000000..3dea1b9f Binary files /dev/null and b/docs/notes/pics/3034859c-eb5a-402b-b65a-974dcc0c4a46.png differ diff --git a/docs/notes/pics/303873db-0d11-4683-a43c-f319b7aef2b6.jpg b/docs/notes/pics/303873db-0d11-4683-a43c-f319b7aef2b6.jpg new file mode 100644 index 00000000..0983229b Binary files /dev/null and b/docs/notes/pics/303873db-0d11-4683-a43c-f319b7aef2b6.jpg differ diff --git a/docs/notes/pics/3f04455c-f4ac-4038-a69f-21df133389e1.png b/docs/notes/pics/3f04455c-f4ac-4038-a69f-21df133389e1.png new file mode 100644 index 00000000..be86b978 Binary files /dev/null and b/docs/notes/pics/3f04455c-f4ac-4038-a69f-21df133389e1.png differ diff --git a/docs/notes/pics/3fb6e997-0fc9-4178-a691-5907b67bbeae.png b/docs/notes/pics/3fb6e997-0fc9-4178-a691-5907b67bbeae.png new file mode 100644 index 00000000..63751152 Binary files /dev/null and b/docs/notes/pics/3fb6e997-0fc9-4178-a691-5907b67bbeae.png differ diff --git a/docs/notes/pics/6dd28bfc-6ef7-47cb-af50-a681ebc1bbaa.png b/docs/notes/pics/6dd28bfc-6ef7-47cb-af50-a681ebc1bbaa.png new file mode 100644 index 00000000..c951760f Binary files /dev/null and b/docs/notes/pics/6dd28bfc-6ef7-47cb-af50-a681ebc1bbaa.png differ diff --git a/docs/notes/pics/b01e12b7-6cfc-485b-a03e-a575e6f7b773.jpg b/docs/notes/pics/b01e12b7-6cfc-485b-a03e-a575e6f7b773.jpg new file mode 100644 index 00000000..cfb2586d Binary files /dev/null and b/docs/notes/pics/b01e12b7-6cfc-485b-a03e-a575e6f7b773.jpg differ diff --git a/docs/notes/pics/fb14b808-734c-4634-9c87-e598b1937996.png b/docs/notes/pics/fb14b808-734c-4634-9c87-e598b1937996.png new file mode 100644 index 00000000..89918e6d Binary files /dev/null and b/docs/notes/pics/fb14b808-734c-4634-9c87-e598b1937996.png differ diff --git a/docs/notes/pics/ff5b89ac-798e-4fbc-b0ce-da2fc2358570.jpg b/docs/notes/pics/ff5b89ac-798e-4fbc-b0ce-da2fc2358570.jpg new file mode 100644 index 00000000..1fa40320 Binary files /dev/null and b/docs/notes/pics/ff5b89ac-798e-4fbc-b0ce-da2fc2358570.jpg differ diff --git a/docs/pics/3034859c-eb5a-402b-b65a-974dcc0c4a46.png b/docs/pics/3034859c-eb5a-402b-b65a-974dcc0c4a46.png new file mode 100644 index 00000000..3dea1b9f Binary files /dev/null and b/docs/pics/3034859c-eb5a-402b-b65a-974dcc0c4a46.png differ diff --git a/docs/pics/303873db-0d11-4683-a43c-f319b7aef2b6.jpg b/docs/pics/303873db-0d11-4683-a43c-f319b7aef2b6.jpg new file mode 100644 index 00000000..0983229b Binary files /dev/null and b/docs/pics/303873db-0d11-4683-a43c-f319b7aef2b6.jpg differ diff --git a/docs/pics/3f04455c-f4ac-4038-a69f-21df133389e1.png b/docs/pics/3f04455c-f4ac-4038-a69f-21df133389e1.png new file mode 100644 index 00000000..be86b978 Binary files /dev/null and b/docs/pics/3f04455c-f4ac-4038-a69f-21df133389e1.png differ diff --git a/docs/pics/3fb6e997-0fc9-4178-a691-5907b67bbeae.png b/docs/pics/3fb6e997-0fc9-4178-a691-5907b67bbeae.png new file mode 100644 index 00000000..63751152 Binary files /dev/null and b/docs/pics/3fb6e997-0fc9-4178-a691-5907b67bbeae.png differ diff --git a/docs/pics/6dd28bfc-6ef7-47cb-af50-a681ebc1bbaa.png b/docs/pics/6dd28bfc-6ef7-47cb-af50-a681ebc1bbaa.png new file mode 100644 index 00000000..c951760f Binary files /dev/null and b/docs/pics/6dd28bfc-6ef7-47cb-af50-a681ebc1bbaa.png differ diff --git a/docs/pics/b01e12b7-6cfc-485b-a03e-a575e6f7b773.jpg b/docs/pics/b01e12b7-6cfc-485b-a03e-a575e6f7b773.jpg new file mode 100644 index 00000000..cfb2586d Binary files /dev/null and b/docs/pics/b01e12b7-6cfc-485b-a03e-a575e6f7b773.jpg differ diff --git a/docs/pics/fb14b808-734c-4634-9c87-e598b1937996.png b/docs/pics/fb14b808-734c-4634-9c87-e598b1937996.png new file mode 100644 index 00000000..89918e6d Binary files /dev/null and b/docs/pics/fb14b808-734c-4634-9c87-e598b1937996.png differ diff --git a/docs/pics/ff5b89ac-798e-4fbc-b0ce-da2fc2358570.jpg b/docs/pics/ff5b89ac-798e-4fbc-b0ce-da2fc2358570.jpg new file mode 100644 index 00000000..1fa40320 Binary files /dev/null and b/docs/pics/ff5b89ac-798e-4fbc-b0ce-da2fc2358570.jpg differ