黑马程序员技术交流社区
标题:
内存的使用
[打印本页]
作者:
快乐之恋
时间:
2012-9-28 08:12
标题:
内存的使用
类 对象代码是怎么分配内存空间的?
作者:
王伟(wangwei)
时间:
2012-9-28 08:29
实例化一个类后,该对象占用的内存空间大小实际上是它的成员变量在内存中所占用空间大小(注意,含有静态成员变量和虚函数的类对象例外)。
类的成员函数不是在类实例化的时候载入内存的。应该是编译链接的时候就在程序文件中确定了相对地址。然后程序载入的时候,所有的函数都载入到内存的代码区。所以实例化对象的时候,只是申请了对象的成员变量的地址,成员函数对于所有的类对象来说,应该只有一份,在代码区共用。而且类的成员变量和成员函数不是存放在一起(地址不是连续的,是分开存放的).
希望对你有所帮助。
作者:
李后量
时间:
2012-9-28 09:10
声明并初始化一个类:
MyClass mc=new MyClass();
等号左边是声明一个MyClass类型的变量,系统为该变量分配的内存是在栈里面,用来保存引用的,而不是用来保存类对象实际数据的。
等号右边是对该变量进行初始化,系统会在堆里面为它分配内存,用来保存类对象实际数据,并且使栈里的引用指向该内存。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2