🔄Update: JVM
This commit is contained in:
@@ -0,0 +1,46 @@
|
|||||||
|
# 内存
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 直接内存
|
||||||
|
|
||||||
|
不受 JVM 堆管理的内存区域,通常与 NIO 有关,能够直接与操作系统内存进行交互,减少内存拷贝的开销
|
||||||
|
|
||||||
|
## 运行时数据区
|
||||||
|
|
||||||
|
### 线程私有
|
||||||
|
|
||||||
|
**程序计数器**
|
||||||
|
|
||||||
|
- 选取下一条需要执行的字节码指令
|
||||||
|
|
||||||
|
|
||||||
|
**虚拟机栈**
|
||||||
|
|
||||||
|
- 方法调用的数据需要通过栈进行传递
|
||||||
|
- 每一次方法调用后就会有一个对应的栈帧被压入栈中,当方法调用结束后弹出
|
||||||
|
|
||||||
|
*栈帧结构*
|
||||||
|
- 局部变量表
|
||||||
|
- 操作数栈
|
||||||
|
- 动态链接
|
||||||
|
- 方法返回地址
|
||||||
|
|
||||||
|
**本地方法栈**
|
||||||
|
|
||||||
|
- 执行 `Native` 方法
|
||||||
|
|
||||||
|
### 线程共享
|
||||||
|
|
||||||
|
**堆**
|
||||||
|
|
||||||
|
> Java 堆是垃圾收集器管理的主要区域,因此也被称作 `GC 堆`。
|
||||||
|
|
||||||
|
**方法区**
|
||||||
|
|
||||||
|
- 类信息
|
||||||
|
- 字段信息
|
||||||
|
- 方法信息
|
||||||
|
- 常量
|
||||||
|
- 静态变量
|
||||||
|
- ...
|
||||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 217 KiB |
Reference in New Issue
Block a user