码迷,mamicode.com
首页 > 移动开发 > 详细

iOS中OC面试题整理(一)

时间:2020-06-30 14:31:27      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:his   数据   变量   函数   切换   地址   编译   作用   自动管理   

1、static关键字的作用:

  1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;

  2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其他函数访问;

  3)在模块内的static函数只可被这一模块内的其他函数调用,这个函数的使用范围被限制在声明他的模块内;

  4)在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝;

  5)在类中的static成员函数属于整个类所拥有,这个函数不接收this指针,因此只能访问类的static成员变量。

2、线程与进程的区别和联系:

  进程和线程都是由操作系统所提供的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响,而线程之间没有独立的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多进程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

3、堆和栈的区别和联系:

  管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。

  申请大小:

  栈:在windows下,栈是向低地址扩展的数据结构

iOS中OC面试题整理(一)

标签:his   数据   变量   函数   切换   地址   编译   作用   自动管理   

原文地址:https://www.cnblogs.com/xiaomingchitang/p/13213388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!