OC對象存放于堆里面(堆內存要程序員手動回收)
非OC對象一般放在棧里面(棧內存會被系統自動回收)
堆里面的內存是動態分配的,所以也就需要程序員手動的去添加內存、回收內存
按管理方式分
對于棧來講,是由系統編譯器自動管理,不需要程序員手動管理
對于堆來講,釋放工作由程序員手動管理,不及時回收容易產生內存泄露
按分配方式分
堆是動態分配和回收內存的,沒有靜態分配的堆
棧有兩種分配方式:靜態分配和動態分配
靜態分配是系統編譯器完成的,比如局部變量的分配
動態分配是有alloc函數進行分配的,但是棧的動態分配和堆是不同的,它的動態分配也由系統編譯器進行釋放,不需要程序員手動管理