注册 登录
编程论坛 JAVA论坛

关于内存结构

小牛 发布于 2015-06-01 16:07, 422 次点击
在看java的视频教程,说是在程序运行时,内存为分四个部分 椎。栈,代码区,和数据区。我想问下,代码区,和数据区,本身也是属于堆吗?只是和new出来的对象不在同一区域。
是哪一种关系。
6 回复
#2
小牛2015-06-01 16:07
[
只有本站会员才能查看附件,请 登录
#3
小牛2015-06-01 16:10
只有本站会员才能查看附件,请 登录
#4
秦时的明月夜2015-06-01 20:58
、栈区(stacksegment)—由编译器自动分配释放,存放函数的参数值,局部变量的值等,具体方法执行结束之后,系统自动释放JVM内存资源

2、堆区(heapsegment)—一般由程序员分配释放,存放由new创建的对象和数组,jvm不定时查看这个对象,如果没有引用指向这个对象就回收

3、静态区(datasegment)—存放全局变量,静态变量和字符串常量,不释放

4、代码区(codesegment)—存放程序中方法的二进制代码,而且是多个对象共享一个代码空间区域
//应该是分开的
#5
小牛2015-06-01 21:07
也就是第一个图的关系,最近在看高淇的视频有点误解.
#6
秦时的明月夜2015-06-01 21:09
你走的是什么方向
#7
小牛2015-06-01 21:13
?什么什么方向?
1