|
|
|
|
协程好像是编程的大趋势,为什么协程会如此火呢?协程有如下几个优势:
协程都是语言级别提供的编程工具。比如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