我记得大学时候听java课,一直以为所有object都是分配在stack中,因为stack比heap的空间‘更大些’而指向这些object的指针是存放在heap中的。但objc中好像并非如此,为了加快速度,他家的object是直接放在heap中,(1)对吗?(2)那object的指针也是存放在heap中?(3)而stack中只是存放方法(frame)的?
|
1
又想了下,对于我的第(2)个问题,貌似对象指针是在stack中吧?举例,我调用一个方法,譬如main(),这个方法作为一个frame被放到stack中,main中定义一个对象指针譬如 NSArray *myArray...这个指针随main方法一道都在stack中,但myArray的对象是被分配到heap中的,这样理解对吗?
|
|
aiskMar 13, 2014
2
楼主关于Java的完全记反了。
|
|
jsonlineMar 13, 2014 via Android
3
你的语言名称一个都没写对 Objective-C Java.
你是大小写不敏感的种族吗? |
|
4
[code]因为stack比heap的空间‘更大些’ [/code]
楼主你是认真的么? |
|
tang3wMar 13, 2014
5
楼主对 Objective-C 的认识几乎为零
|
|
6
看来学得不好惹众怒了...
|
|
ivanlwMar 13, 2014 via iPhone
7
所有家的Object都在heap中,所有家的指针(reference)都在stack中…吧…?难道是我一直是错的?
|
|
wy315700Mar 13, 2014
8
Java的object不是一直都在heap里的吗
|
|
TMBestMar 13, 2014
9
LZ没有正确的区分stack和heap
|
|
zhichengMar 14, 2014
10
LZ现在的知识,还是先不要区分什么 stack 和 heap 了。。。。
|