JVM运行内存模型
2017-06-07 15:55
225 查看
JVM运行内存模型图:
注意下图中的线程共享问题。JVM运行内存分为5个部分:
1.虚拟机栈(VM Stack):是类加载器加载的类文件(字节码)的方法执行的内存模型:
当一个方法执行时虚拟机栈会产生一个“栈帧”,在栈帧中保存方法信息。方法的执行-结束过程就是“栈帧”在虚拟机栈中的一个入-出栈过程。
2.本地方法栈:基本类似于虚拟机栈,但是针对的对象是虚拟机本地的方法。
3.堆:保存对象实例,几乎所有的对象实例是在堆上分配。
在堆内存里面分为新生代和老生代俩个内存区域;对象在新生代中分配内存。而老生代中存储的是一些存活久的对象。堆内存是GC的主要区域,GC会在下章介绍。
4.方法区:又称为永久代,存储已经被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等。
5.程序计数器:当前线程执行的字节码行号指示器,也就相当于一个计数器,它显示了现在执行的代码行。字节码解释器通过程序计数器可以选取到下一条需要被执行的字节码执行。像循环、异常处理、分支、线程恢复等需要有清楚执行流程的基础功能都要依赖程序计数器。
直接内存:在程序运行过程中可能需要直接内存的参与。
相关文章推荐
- JVM-由常量池 运行时常量池 String intern方法想到的(三)之String内存模型
- JVM启动流程, JVM基本结构 ,内存模型,编译和解释运行的概念
- JVM运行时的内存模型
- Java多线程笔记一(创建运行,相关概念,JVM内存模型,线程有几种状态,死锁)
- 【jvm学习】jvm运行时内存分配模型分析
- JVM内存模型之运行时常量池
- JVM运行时数据区域与内存模型
- jvm内存模型(运行时数据区)
- JVM运行时数据区与JVM堆内存模型小结
- Java 进阶(一) JVM运行时内存模型
- 图解JVM内存模型
- 认识JVM--第二篇-java对象内存模型
- JVM内存模型及垃圾收集策略解析(1)
- JVM内存模型
- 转:JVM内存模型以及垃圾收集策略解析
- JVM的内存模型与无用信息回收机制
- JVM内存模型以及垃圾收集策略解析(重要)
- JVM内存模型以及垃圾收集策略解析(重要)
- JVM内存模型及垃圾收集策略解析(3)
- JVM内存模型以及垃圾回收