摘要:
@interface List : NSObject { NSString *_name; } -(void)setName:(NSString *)name; -(NSString *)name; @end @implementation List -(void)setName:(NSString 阅读全文
摘要:
信号量:dispatch_semaphore_t 互斥锁:pthread_mutex、@ synchronized、NSLock 条件锁:NSConditionLock 、NSCondition、 递归锁:NSRecursiveLock 自旋锁:OSSpinLock(不安全,已遗弃,会出现优先级反转 阅读全文
摘要:
关联对象的存储结构 void _object_set_associative_reference(id object, void *key, id value, uintptr_t policy) {} 看到这里能够总结一下关联关系的存储结构了。 AssociationsHashMap是管理目标对象 阅读全文
摘要:
一、App启动优化 二、安装包瘦身 三、卡顿问题 四、耗电优化 一、App启动优化 1.App的启动可以分为2种 冷启动(Cold Launch):从零开始启动APP 热启动(Warm Launch):APP已经在内存中,在后台存活着,再次点击图标启动APP APP启动时间的优化,主要是针对冷启动进 阅读全文
摘要:
三次握手(建立连接) 通俗的说法1)Client:嘿,李四,是我,听到了吗?2)Server:我听到了,你能听到我的吗?3)Client:好的,我们互相都能听到对方的话,我们的通信可以开始了。 为什么是三次握手? 三次握手保证了,服务端的接收和发送能力 四次挥手(断开连接) 通俗的说法1)Clien 阅读全文
摘要:
MGJRouter基于url-block的方案,存在的缺点: 需要在内存中维护url-block的表,内存常驻,组件多了可能会有内存问题 url的参数传递受到限制,只能传递常规的字符串参数,无法传递非常规参数,如UIImage、NSData等类型 没有区分本地调用和远程调用的情况,尤其是远程调用,会 阅读全文
摘要:
反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 思路:双指针迭代 public class ListNode { public var val: Int publ 阅读全文
摘要:
/** * Definition for a binary tree node. * public class TreeNode { * public var val: Int * public var left: TreeNode? * public var right: TreeNode? * 阅读全文
摘要:
快慢双指针法,快指针一次走两步,慢指针一次走一步,如果有环必会相遇 public class ListNode { public var val: Int public var next: ListNode? public init(_ val: Int) { self.val = val self 阅读全文
摘要:
一、HTTPS和HTTP的区别 HTTPS协议 = HTTP协议 + SSL/TLS协议 SSL的全称是Secure Sockets Layer,即安全套接层协议,是为网络通信提供安全及数据完整性的一种安全协议。TLS的全称是Transport Layer Security,即安全传输层协议。 即H 阅读全文