Skip to content

Commit 87857bb

Browse files
committed
chore: move images to root path
1 parent ddc770c commit 87857bb

18 files changed

+17
-17
lines changed

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,13 @@ Doocs 技术社区,致力于打造一个内容完整、持续成长的互联
7575
<tr>
7676
<td align="center" style="width: 200px;">
7777
<a href="https://github.com/doocs">
78-
<img src="./images/qrcode-for-doocs.jpg" style="width: 400px;"><br>
78+
<img src="https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/qrcode-for-doocs.jpg" style="width: 400px;"><br>
7979
<sub>公众平台</sub>
8080
</a><br>
8181
</td>
8282
<td align="center" style="width: 200px;">
8383
<a href="https://github.com/yanglbme">
84-
<img src="./images/qrcode-for-yanglbme.jpg" style="width: 400px;"><br>
84+
<img src="https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/qrcode-for-yanglbme.jpg" style="width: 400px;"><br>
8585
<sub>个人微信</sub>
8686
</a><br>
8787
</td>
@@ -90,4 +90,4 @@ Doocs 技术社区,致力于打造一个内容完整、持续成长的互联
9090

9191
关注「**Doocs 开源社区**」公众号,回复 **JVM**,即可获取本项目离线 PDF 文档,学习更加方便!
9292

93-
![](./images/jvm-pdf.png)
93+
![](https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/jvm-pdf.png)

docs/01-jvm-memory-structure.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Java 虚拟机的内存空间分为 5 个部分:
88
-
99
- 方法区
1010

11-
![jvm-memory-structure](./images/jvm-memory-structure.jpg)
11+
![jvm-memory-structure](https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/jvm-memory-structure.jpg)
1212

1313
JDK 1.8 同 JDK 1.7 比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对 JVM 规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。
1414

@@ -44,7 +44,7 @@ Java 虚拟机栈会为每一个即将运行的 Java 方法创建一块叫做“
4444
- 方法出口信息
4545
- ......
4646

47-
![jvm-stack](./images/jvm-stack.jpg)
47+
![jvm-stack](https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/jvm-stack.jpg)
4848

4949
### 压栈出栈过程
5050

docs/02-hotspot-jvm-object.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
- 实例数据(Instance Data)
99
- 对齐填充(Padding)
1010

11-
![object-memory-layout.png](./images/object-memory-layout.png)
11+
![object-memory-layout.png](https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/object-memory-layout.png)
1212

1313
### 对象头
1414

@@ -67,12 +67,12 @@ HotSpot VM 的自动内存管理系统要求对象的大小必须是 8 字节的
6767

6868
引用类型的变量存放的是该对象的句柄地址(reference)。访问对象时,首先需要通过引用类型的变量找到该对象的句柄,然后根据句柄中对象的地址找到对象。
6969

70-
![handle-access](./images/handle-access.jpg)
70+
![handle-access](https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/handle-access.jpg)
7171

7272
### 直接指针访问方式
7373

7474
引用类型的变量直接存放对象的地址,从而不需要句柄池,通过引用能够直接访问对象。但对象所在的内存空间需要额外的策略存储对象所属的类信息的地址。
7575

76-
![direct-pointer](./images/direct-pointer.jpg)
76+
![direct-pointer](https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/direct-pointer.jpg)
7777

7878
需要说明的是,HotSpot 采用第二种方式,即直接指针方式来访问对象,只需要一次寻址操作,所以在性能上比句柄访问方式快一倍。但像上面所说,它需要**额外的策略**来存储对象在方法区中类信息的地址。

docs/04-hotspot-gc.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ HotSpot 虚拟机提供了多种垃圾收集器,每种收集器都有各自的
1010

1111
一般客户端应用所需内存较小,不会创建太多对象,而且堆内存不大,因此垃圾收集器回收时间短,即使在这段时间停止一切用户线程,也不会感觉明显卡顿。因此 Serial 垃圾收集器**适合客户端**使用。
1212

13-
由于 Serial 收集器只使用一条 GC 线程,避免了线程切换的开销,从而简单高效。
13+
由于 Serial 收集器只使用一条 GC 线程,避免了线程切换的开销,从而简单高效。
1414

15-
![Serial](./images/serial.png)
15+
![Serial](https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/serial.png)
1616

1717
### ParNew 垃圾收集器(多线程)
1818

1919
ParNew 是 Serial 的多线程版本。由多条 GC 线程并行地进行垃圾清理。但清理过程依然需要 Stop The World。
2020

2121
ParNew 追求“**低停顿时间**”,与 Serial 唯一区别就是使用了多线程进行垃圾收集,在多 CPU 环境下性能比 Serial 会有一定程度的提升;但**线程切换需要额外的开销**,因此在单 CPU 环境中表现不如 Serial。
2222

23-
![ParNew](./images/parnew.png)
23+
![ParNew](https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/parnew.png)
2424

2525
### Parallel Scavenge 垃圾收集器(多线程)
2626

@@ -58,7 +58,7 @@ CMS\(Concurrent Mark Sweep,并发标记清除\)收集器是以获取最短回
5858

5959
并发标记与并发清除过程耗时最长,且可以与用户线程一起工作,因此,**总体上说**,CMS 收集器的内存回收过程是与用户线程**一起并发执行**的。
6060

61-
![CMS](./images/cms.png)
61+
![CMS](https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/cms.png)
6262

6363
CMS 的缺点:
6464

docs/08-load-class-time.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
验证、准备、解析 3 个阶段统称为连接。
1616

17-
![Load Class](./images/loadclass.png)
17+
![Load Class](https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/loadclass.png)
1818

1919
加载、验证、准备、初始化和卸载这 5 个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始(注意是“开始”,而不是“进行”或“完成”),而解析阶段则不一定:它在某些情况下可以在初始化后再开始,这是为了支持 Java 语言的运行时绑定。
2020

docs/10-class-loader.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
- 扩展类加载器(Extension ClassLoader): 负责加载 `<JAVA_HOME>\lib\ext` 目录中的所有类库,开发者可以直接使用扩展类加载器。
1919
- 应用程序类加载器(Application ClassLoader): 由于这个类加载器是 ClassLoader 中的 `getSystemClassLoader()` 方法的返回值,所以一般也称它为“系统类加载器”。它负责加载用户类路径(classpath)上所指定的类库,开发者可以直接使用这个类加载器,如果应用程序中没有自定义过自己的类加载器,一般情况下这个就是程序中默认的类加载器。
2020

21-
![ClassLoader](./images/classloader.png)
21+
![ClassLoader](https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/classloader.png)
2222

2323
当然,如果有必要,还可以加入自己定义的类加载器。
2424

docs/images/jvm-pdf.png

-132 KB
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

index.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,13 @@
8080
<tr>
8181
<td align="center" style="width: 200px;">
8282
<a href="https://github.com/doocs">
83-
<img src="./images/qrcode-for-doocs.jpg" style="width: 400px;"><br>
83+
<img src="https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/qrcode-for-doocs.jpg" style="width: 400px;"><br>
8484
<sub>公众平台</sub>
8585
</a><br>
8686
</td>
8787
<td align="center" style="width: 200px;">
8888
<a href="https://github.com/yanglbme">
89-
<img src="./images/qrcode-for-yanglbme.jpg" style="width: 400px;"><br>
89+
<img src="https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/qrcode-for-yanglbme.jpg" style="width: 400px;"><br>
9090
<sub>个人微信</sub>
9191
</a><br>
9292
</td>
@@ -95,7 +95,7 @@
9595
9696
关注「**Doocs开源社区**」公众号,回复 **JVM**,即可获取本项目离线 PDF 文档,学习更加方便!
9797
98-
![](./images/jvm-pdf.png)
98+
![](https://cdn.jsdelivr.net/gh/doocs/jvm@main/images/jvm-pdf.png)
9999
100100
`;
101101
return editHtml + content + `\n` + subscription;

0 commit comments

Comments
 (0)