JVM内存模型
来源:互联网 发布:androidndkr10e mac 编辑:程序博客网 时间:2024/06/16 04:24
java虚拟机,简称JVM,是执行java字节码文件的操作系统进程。
JVM的内存模型分为五大部分,分别是虚拟机栈,本地方法栈,程序计数器,堆和方法区。其中虚拟机栈,本地方法栈,程序计数器是线程私有的,也就是每个线程都有这三部。而堆和方法区是所有线程共享的。
1、程序计数器
程序计数器就是记录当前线程执行到的位置,也就是下一条需要执行的指令。
2、虚拟机栈
虚拟机栈是线程运行的核心。每调用一个方法的时候,就会创建一个栈帧并压入虚拟机栈中,每个栈帧中会存在一个局部变量表和操作数栈,用于存放在执行方法时的变量、参数和中间结果。
3、本地方法栈
本地方法栈和虚拟机栈类似,存放native方法调用的状态。
4、堆
堆内存存放的是对象,及new出来的对象。程序中对象往往是最多的,所以堆内存也是最大的。堆内存也分为两个部分,一个是新生代,另外一个是老年代,新生代存放的是短时间存在的对象,而老年代则相反。默认情况下新生代和老年代的空间大小比例为1:2。新生代也分为两个个部分,分别是Eden和survivor,而survivor又分为Fromsurvivor和Tosurvivor,也就是新生代分为Eden,Fromsurvivor,Tosurvivor,其大小比例默认为8:1:1,这样分的好处是gc更快的回收内存。
5、方法区
方法区用于存放加载的java类信息、静态变量、final类型的常量、属性和方法。
阅读全文
0 0
- [jvm]JVM内存模型
- 【理解JVM】JVM内存模型
- JVM初探 -JVM内存模型
- JVM初窥:JVM内存模型
- 理解 JVM:JVM 内存模型
- JVM内存模型
- JVM内存模型基础知识
- 图解JVM内存模型
- JVM内存模型
- 一 JVM内存模型
- JVM的内存模型
- 图解JVM内存模型
- JVM内存模型
- 图解JVM内存模型
- 【转】jvm 内存模型
- JVM 内存模型
- JVM内存模型
- JVM内存模型
- 连通性查询
- Linux下安装jdk
- 模块概念与使用及注意事项
- C# 中的委托和事件(详解)
- 初学 extJS 与 React 知识总结 (一)
- JVM内存模型
- 求两个单链表的差集和并集
- 为什么要模1000000007
- C语言数组必须要懂得三个程序
- opengl中使用多重纹理
- JS的闭包Closure
- gitlab使用
- 手把手教你如何做电视直播
- 调试支付宝脱机认证接口遇到的问题总结