JVM执行Java程序的过程中管理的内存空间
来源:互联网 发布:windows视频剪辑 编辑:程序博客网 时间:2024/05/20 03:47
JVM执行Java程序的过程中管理的内存空间,包括下列几个区域:
程序计数器(Program CounterRegister)
· 线程私有,占用空间很小。
· 线程所执行代码行号指示器。
· 解释器通过计数器的值选择下一条执行的字节码指令。
· 线程执行Native方法时值为空。
· 没有OOM(OutOfMemory)。Java虚拟机栈(Java Virtual Machine Stacks)
· 线程私有。· 储存方法栈帧(Stack Frame)。
· 栈帧:储存局部变量表、操作栈、动态链接、方法出口等。
· 局部变量表:编译器可知的基本类型、对象引用和returnAddress(字节码指令的地址)。在编译期间完成分配,运行时大小不变。
本地方法栈(Native MethodStacks)
· 线程私有,类似虚拟机栈。
· 服务Native方法。
· 同样存在StackOverflowError和OOM。
· Hotspot中将Java虚拟机栈和本地方法栈合二为一,通过-Xss设置大小。JDK1.6以前默认256K,1.6默认1M。
Java堆(Java Heap)
· 所有线程共享。
· 储存对象实例。
· GC和OOM的主要区域。
Heap OOM例子:
·
0 0
- JVM执行Java程序的过程中管理的内存空间
- JVM原理详解-Java程序的执行过程
- Java中程序的执行过程
- 程序中内存空间的使用
- Java程序的执行过程
- Java SE 中 的 内存空间
- java 程序执行的 内存代码划分即 java执行过程中的内存管理
- iPhone中管理malloc分配的内存空间
- JAVA程序运行过程中成员变量的执行顺序
- 面试总结:java程序执行过程 + JVM内存管理 + GC垃圾回收机制
- 【转】程序中内存空间的分配
- jvm的内存空间分块情况
- java程序开发过程中会话管理的技巧
- linux程序的内存空间
- 程序内存空间的分配
- JVM内存空间管理
- 由JVM内存空间想到的java编码规范
- Java虚拟机JVM对自己的内存空间划分
- MP-流程表单规则
- android 垃圾清理 文件清理
- Android四大组件之Service(服务)
- [Windows] VMware Workstation 12.0.0 Pro 正式版/注册码/注册机
- Java实现常见的7种排序算法
- JVM执行Java程序的过程中管理的内存空间
- 用HttpListener 建立web服务器 实现网页浏览、文件上传
- 使用 ContentProviderOperation 来提升性能
- ALM中action使用,包括多action复用
- SVM算法
- linux下hadoop2.6.1源码64位的编译
- textview属性
- django.contrib.auth.backend-后台
- Android自定义view学习笔记01