Java内存模型
来源:互联网 发布:淘宝充话费很久不到账 编辑:程序博客网 时间:2024/06/07 10:13
一、JAVA内存模型
运行时内存模型,分为线程私有和共享数据区两大类。
(1)线程私有区:
程序计数器,记录正在执行的虚拟机字节码的地址;
虚拟机栈:方法执行的内存区,每个方法执行时会在虚拟机栈中创建栈帧;
本地方法栈:虚拟机的Native方法执行的内存区;
(2)线程共享区:
Java堆:对象分配内存的区域;
方法区:存放类信息、常量、静态变量、编译器编译后的代码等数据;
常量池:存放编译器生成的各种字面量和符号引用,是方法区的一部分。
对于大多数的程序员来说,Java内存比较流行的说法便是堆和栈,这其实是非常粗略的一种划分,这种划分的”堆”对应内存模型的Java堆,”栈”是指虚拟机栈,然而Java内存模型远比这更复杂,想深入了解Java的内存,还是有必要明白整个内存模型。
二、 详细模型
运行时内存分为五大块区域(常量池属于方法区,算作一块区域),前面简要介绍了每个区域的功能,那接下来再详细说明每个区域的内容,Java内存总体结构图如下:
Java虚拟机在运行时会为每一个线程在内存中分配了一个虚拟机栈,来表示线程的运行状态和信息,虚拟机栈中的元素称之为栈帧(JVM stack frame),每一个栈帧表示这对一个方法的调用信息。
原文连接:http://gityuan.com/2016/01/09/java-memory/
0 0
- java内存模型 内存屏障
- Java内存模型
- Java内存模型
- java内存模型详解
- 12.Java内存模型
- java内存模型详解
- Java内存模型
- Java内存模型详解
- java 内存模型
- Java 内存模型
- Java内存模型
- java内存模型详解
- java内存模型详解
- java内存模型详解
- Java内存模型
- Java内存模型
- 浅谈java内存模型
- JAVA内存模型
- 多字段表单POST时,数据被截断问题,原因是max_input_vars限制
- UE4——HelloWorld
- 08、js内的数据类型转换
- 设计模式——命令模式
- hdu1005(循环节的经典问题)
- Java内存模型
- 正则表达式验证url、时间、ip
- PagerSlidingTabStrip源码解析
- Tomcat 8 .war文件部署出错
- 队列和栈
- java程序员最常用的8个日志框架
- 该如何让自己从一个c++程序员变成一个delphi程序员
- LeetCode 8. String to Integer (atoi)简单易懂的解法
- MTK FileManager无法分享视频到Youtube应用