美文网首页
iOS相关总结

iOS相关总结

作者: 属于ly | 来源:发表于2018-02-25 10:57 被阅读0次

    1.Http:(无状态含义)

    HTTP协议不具备保存之前发送过的请求或响应的功能。简而言之 下一次的请求和上一次没有关系。但是可以保存记录请求的结果。

    2.block循环引用的原因:

    相互持有,不能释放。

    通过__weak的修饰,先把self弱引用。打破强引用的僵局。

    3.脚本语言和编程语言的区别

    1. 脚本语言不需要编译,可以直接用,由解释器来负责解释。有一些脚本语言已经发生了变化,如python,perl已经可以编译成中间代码然后执行,这样的脚本语言已经可以被称为编译型脚本语言。代表的有JAVASCRIPT,ASP,PHP,PERL,Nuva)脚本语言:一、解释执行 二、执行文件。

    2. 编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)

    运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些

    1、标记语言不用于向计算机发出指令,常用于格式化和链接。如:HTML、XML

    2、脚本语言介于标记语言和编程语言之间,脚本语言脚本语言不需要编译,可以直接用,由解释器来负责解释。JavaScript、VBScript、PHP

    3、编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。C、C++

    4.runtime的理解。

    5.动态库和静态库。

    动态库是以.framework 和.tbd或者.dylib 结尾的库。

    静态库是以.a或者.framework结尾的库。

    静态库链接的时候都会被完整到复制到可执行文件中。多次使用会多次copy。

    动态库链接时由系统动态的加载到内存里面,系统只会加载一次。意味着多个程序共用。节省内存。

    相关文章

      网友评论

          本文标题:iOS相关总结

          本文链接:https://www.haomeiwen.com/subject/ggeizxtx.html