|
|
|
|
协程好像是编程的大趋势,为什么协程会如此火呢?协程有如下几个优势:
协程都是语言级别提供的编程工具。比如lua里的coroutine,python里的基于生成器的协程。那么协程的本质是什么呢?仔细研读一下下面的代码,你就会体会其中的奥秘!然后,惊叹一声,原来协程的本质是这样的啊!
|
|
initializer element is not a compile-time constant
|
|
|
|
重点:
类型 | 代码 | 描述 | 查询 | 差错 | 处理方法 |
---|---|---|---|---|---|
0 | 0 | 回显应答(ping) | * | 用户进程 | |
3 | 目的不可达 | ||||
0 | 网络不可达 | * | 无路由到达主机 | ||
1 | 主机不可达 | * | 无路由到达主机 | ||
2 | 协议不可达 | * | 连接被拒绝 | ||
3 | 端口不可达 | * | 连接被拒绝 | ||
4 | 需要进行分片但设置了不分片比特 | * | 无路由到达主机 | ||
5 | 源站选路失败 | * | 无路由到达主机 | ||
6 | 目的网络不认识 | * | 无路由到达主机 | ||
7 | 目的主机不认识 | * | 无路由到达主机 | ||
8 | 源主机被隔离(作废不用) | * | 无路由到达主机 | ||
9 | 目的网络被强制禁止 | * | 无路由到达主机 | ||
10 | 目的主机被强制禁止 | * | 无路由到达主机 | ||
11 | 由于服务类型TOS,网络不可达 | * | 无路由到达主机 | ||
12 | 由于服务类型TOS,主机不可达 | * | 无路由到达主机 | ||
13 | 由于过滤,通信被强制禁止 | * | 忽略 | ||
14 | 主机越权 | * | 忽略 | ||
15 | 优先权中止生效 | * | 忽略 | ||
4 | 0 | 源端被关闭(基本流控制) | * | TCP由内核处理,UDP则忽略 | |
5 | 重定向 | * | |||
0 | 对网络重定向 | * | 内核更新路由表 | ||
1 | 对主机重定向 | * | 内核更新路由表 | ||
2 | 对服务类型和网络重定向 | * | 内核更新路由表 | ||
3 | 对服务类型和主机重定向 | * | 内核更新路由表 | ||
8 | 0 | 请求回显(ping) | * | ||
9 | 0 | 路由器通告 | * | 用户进程 | |
10 | 0 | 路由器请求 | * | 用户进程 | |
11 | 超时 | ||||
0 | 传输期间生存时间为0(traceroute) | * | 用户进程 | ||
1 | 在数据报组装期间生存时间为0 | * | 用户进程 | ||
12 | 参数问题 | ||||
0 | 坏的IP首部(包括各种差错) | * | 协议不可用 | ||
1 | 缺少必需的选项 | * | 协议不可用 | ||
13 | 0 | 时间戳请求 | * | 内核产生应答 | |
14 | 0 | 时间戳应答 | * | 用户进程 | |
15 | 0 | 信息请求(作废不用) | * | ||
16 | 0 | 信息应答(作废不用) | * | ||
17 | 0 | 地址掩码请求 | * | 内核产生应答 | |
18 | 0 | 地址掩码应答 | * | 用户进程 |
ICMP规则:
|
|
TIME_WAIT状态需要等待2MSL(Maximum Segment Lifetime)。原因: 防止消息丢失。如果对方超时未收到ACK消息的话,会再次发送FIN消息。
当出现大量TIME_WAIT状态时的解决方案:
|
|
当出现大量CLOSE_WAIT状态时的解决方案: 程序问题,检查源码
参考
select使用整数集合中位来存储描述符。所以提供以下宏命令来添加、删除描述符。
|
|
|
|
数组问题
有序数组查找: 二分法
无序数组查找: 借鉴快排的二分查找
链表类题目: 重点考察指针的操作。 注意头结点的特殊处理。
dp问题
最优化问题的变种:
贪心算法
static关键字:
在C语言中有两个含义:
在C++中又多了一层含义(java沿用该含义):
|
|
类或方法 | 解释 | 特殊说明 |
---|---|---|
copy.copy() | 浅拷贝 | |
copy.deepcopy() | 深拷贝 | |
exception copy.eror |
浅拷贝与深拷贝的区别:
浅拷贝只拷贝最外层的对象,而深拷贝会递归的拷贝所有对象。
|
|
weakref允许创建对象的弱引用。
python使用自动垃圾回收机制,当一个对象的引用计数为0或只有弱引用时,执行垃圾回收。所以弱引用不影响对象的回收。
类或方法 | 解释 | 特殊说明 |
---|---|---|
class weakref.ref(object[, callback]) | ||
weakref.proxy(object[, callback]) | ||
weakref.getweakrefcount(object) | ||
weakref.getweakrefs(object) | ||
class weakref.WeakKeyDictionary([dict]) | ||
WeakKeyDictionary.keyrefs() | ||
class weakref.WeakValueDictionary([dict]) | ||
WeakValueDictionary.valuerefs() | ||
class weakref.WeakSet([elements]) | ||
class weakref.WeakMethod(method) | ||
class weakref.finalize(obj, func, *args, **kwargs) | ||
weakref.ReferenceType | ||
weakref.ProxyType | ||
weakref.CallableProxyType | ||
weakref.ProxyTypes | ||
exception weakref.ReferenceError |
tag:
缺失模块。
1、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
2、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: true raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true