第一次
第二次
第三次
路由器是通过IP寻址,交换机是通过Mac寻址。路由器支持NAT
HTTP:超文本传输协议(Hypertext Transfer Protocol)。
l 基于应用层的协议,在上网浏览网页的时候,浏览器和web
服务器之间通过HTTP在Internet上进行数据的发送和接收。
l 基于请求/响应模式的、无状态的协议
浏览器与服务器通信过程:
1、 客户发起连接
2、 客户发送请求
3、 服务器响应请求
4、 服务器关闭连接
ios7和ios6有什么区别
当你使用不可变的NSString class时,替换旧的字符串的唯一方式就是创建一个新的字符串然后更新你的变量“str2”
来指向这个新的字符串。这个操作不会影响“str1”所指向的内容,因此它将继续指向初始的字符串。
在NSMutableString的例子里,我们没有创建第二个字符串,而是通过改变已经存在的可变字符串“str2”的内容来代替。
由于str1和str2两个变量都仍然指向同一个字符串对象,从nslog中可以看到它们值都将会被更新。
理解指针变量和它实际指向对象的不同是非常重要的。一个NSString对象是不可变的,但是这并不阻止你改变指向这个不
可变对象的指针的值。
"NSString *"这个数据类型代表一个NSString对象的指针,不是NSString对象本身。
"NSMutableString *"这个数据类型则是代表"NSMutableString"对象本身,这两者是有区别的。
数据的持久化本质上都是就是写文件,但从逻辑上又分成很多种,比如写入沙盒(其实是一个本应用程序才可以访问的路径),比如存到网络上,比如写入数据库。
Core data与sqlite还是有联系的,core data 是对sqlite的封装,因为sqlite是c语言的api,然而有人也需要obj-c 的api,所以有了 core data 另外,core data不仅仅是把c的api翻译成oc 的api,还提供了一些管理的功能,使用更加方便。
内存管理的几条原则时什么?按照默认法则.那些关键字生成的对象需要手动释放?在和property结合的时候怎样有效的避免内存泄露?
谁申请,谁释放
遵循CocoaTouch的使用原则;
内存管理主要要避免“过早释放”和“内存泄漏”,对于“过早释放”需要注意@property设置特性时,一定要用对特性关键字,对于“内存泄漏”,一定要申请了要负责释放,要细心。
关键字alloc 或new 生成的对象需要手动释放;
设置正确的property属性,对于retain需要在合适的地方释放,