java中内存分配的问题
2012-04-25 22:02
260 查看
java中内存主要包含4块,即heap(堆内存)、stack(栈内存)、data segment(静态变量或是常量存放区)、codesegment(方法区).
1,heap :放的是new出来的对象的内存空间,只包含成员变量的内存空间
2,stack:放的是局部变量,基本数据类型放的是值,对象类型放的是其自身在heap的地址
3,data segment:静态、常量区:存放的是静态变量(类变量)或是常量。
4,code segment:存放的是对象的方法。因此即使new出多个对象也是只是存在一个方法。
A a = new A();
A b = new A();
第一句会导致heap开辟一个空间存放A的数据,a 是放在stack中,放的是heap的地址,如果A有方法,也会在code segment
第二句只在heap开辟A的空间,在stack放b所指向的地址,不会增加code segment的东西
1,heap :放的是new出来的对象的内存空间,只包含成员变量的内存空间
2,stack:放的是局部变量,基本数据类型放的是值,对象类型放的是其自身在heap的地址
3,data segment:静态、常量区:存放的是静态变量(类变量)或是常量。
4,code segment:存放的是对象的方法。因此即使new出多个对象也是只是存在一个方法。
A a = new A();
A b = new A();
第一句会导致heap开辟一个空间存放A的数据,a 是放在stack中,放的是heap的地址,如果A有方法,也会在code segment
第二句只在heap开辟A的空间,在stack放b所指向的地址,不会增加code segment的东西
相关文章推荐
- 黑马程序员-java各类型数据在内存分配问题
- java的内存分配问题
- 【Java】内存分配的问题
- 浅谈java的内存分配问题
- 黑马程序员-java各类型数据在内存分配问题
- java的参数传递与内存分配问题
- 小白请教几个关于Java虚拟机内存分配策略的问题
- Java中ArrayList内存分配问题
- Java 内存分配,栈、堆。。。及相关问题解决
- java --数组内存分配等问题
- java的参数传递与内存分配问题
- java内存分配问题
- java内存分配问题初学
- MY 总结:Java 内存分配,栈、堆。。。及相关问题解决
- [java]String变量的内存分配问题
- 学习Java的内存分配机制和内存泄漏问题
- Java当中的内存分配以及值传递问题…
- Java当中的内存分配以及值传递问题内存解析
- Java当中的内存分配以及值传递问题内存解析
- Java中对象的内存分配问题