摘要: 变量声明 go语言中局部变量声明后必须被使用,否则报错。全局变量无此限制 整数、浮点数、string这些基本类型为值类型,赋值后变量名指向各自的值;而复杂类型为引用类型,两变量赋值后指向同一内存区域 变量声明时若不赋值则为系统默认值(数值类型0, 布尔false, string为"",其他为nil) 阅读全文
posted @ 2022-03-22 15:08 DreamEagle 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 基本操作 清除现有的qdisc tc qdisc del root dev eth0 Qdisc Classless Qdisc 负责流量基本管理,包括流量整形、排序、限速等 不能在其上新建qdisc分支(即class) 分类 fifo_fast:没有自定义规则时的默认qdisc,直接对packet 阅读全文
posted @ 2022-02-16 18:24 DreamEagle 阅读(815) 评论(0) 推荐(0) 编辑
摘要: 以太坊概述 更改出块时间为15s,并使用一套相适应的GHOST协议(该协议非以太坊发明,只是改进) 更改mining puzzle,变成memory-hard mining puzzle,一定程度上ASIC-resistant 将来会将工作量证明Proof of Work替换成权益证明Proof o 阅读全文
posted @ 2022-02-16 14:29 DreamEagle 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 北京大学肖臻老师《区块链技术与应用》公开课 笔记 比特币中的密码学原理 哈希函数性质 Collision Resistance: 碰撞:x≠y,但H(x) = H(y) 含义:对于输入x,没有特定的方法(除了遍历x)能找到y(≠x),使得H(x) = H(y). 输入空间应足够大且分布均匀 Hidi 阅读全文
posted @ 2022-02-16 14:29 DreamEagle 阅读(283) 评论(0) 推荐(0) 编辑
摘要: Java笔记 工作流程 数据类型 boolean 包含true或者false(默认值false)(注意:java中boolean的true和false与整数值1和0不等价,不可进行关系比较) 整数(默认值0) byte 占一个字节,存储有符号整数-128~127,默认值0 short 两个字节,-3 阅读全文
posted @ 2022-02-16 14:26 DreamEagle 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 浏览器 浏览器对象 // window不仅充当全局变量,且表示浏览器窗口。常用属性 innerWidth/innerHeight // 浏览器内部宽高 outerWidth/outerHeight // 浏览器外部宽高 // navigator表示浏览器信息,d常用属性: navigator.app 阅读全文
posted @ 2022-02-16 14:21 DreamEagle 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 基础语法 语句最好以分号; 结尾,以免自动补全时出错 严格区分大小写 变量、常量可以单独作为一个语句 变量名由字母、数字、下划线、$符合组成,且不能以数字开头 动态类型语言 typeof 变量 返回函数类型,该结果本身为字符串 注释 // Comment /* Block Comment 块注释 * 阅读全文
posted @ 2022-02-16 14:20 DreamEagle 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 基本概念 文件&文件系统 文件系统:一种用于持久性存储的系统抽象 文件:文件系统一个单元的相关数据在OS的抽象(包含文件名、文件数据、属性等) 文件属性:名称、类型、位置、大小、保护、创建者等 文件头 在存储元数据中保存了每个文件信息 保存文件属性 跟踪哪一块存储块属于逻辑上文件结构的哪个偏移 文件 阅读全文
posted @ 2022-02-16 14:14 DreamEagle 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 时间紧张,后面几章的笔记比较随意。。。 死锁的4个必要条件 互斥:一个时间点只能有一个进程使用资源 持有并等待:进程保持至少一个资源,正在等待其他进程持有的额外资源 不可抢占:除非持有资源的进程主动释放,否则其他进程不得强行访问资源 循环等待(存在环):存在等待进程集合{P0, P1, ... , 阅读全文
posted @ 2022-02-16 14:13 DreamEagle 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 并发的好处 共享资源 一台电脑,多个用户 一个银行取款余额,多台ATM机 嵌入式系统(机器人控制:手臂和手的协调) 加速 I/O操作和计算可以重叠 多处理器 - 将程序分成多个部分并行执行 模块化 将大程序分解成小程序 使系统容易扩展 存在的问题 竞态条件(race condition) 并发程序共 阅读全文
posted @ 2022-02-16 14:12 DreamEagle 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 信号量 锁的不足 多线程同时执行访问临界区 互斥和条件同步 含义 包含一个信号量sem(semaphore,有符号整数) 和两个原子操作:P操作和V操作 sem变量受保护。初始化后,改变信号量的唯一方法是P()和V()。两个操作必须是原子的 P()能够阻塞,V()不会阻塞 假定信号量是公平的:实践中 阅读全文
posted @ 2022-02-16 14:12 DreamEagle 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 进程(Process)描述 **定义:**一个具有一定独立功能的程序在一个数据集合上的动态执行过程 组成: 程序代码(Code) 程序处理的数据 (Data) 程序计数器中的值,指示下一条将运行的指令 一组通用寄存器当前的值,堆、栈 一组系统资源(文件系统、内存、网络等) 程序 vs 进程 联系: 阅读全文
posted @ 2022-02-16 14:11 DreamEagle 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 背景 CPU调度:从就绪队列里选择一个进程 / 线程作为CPU将要运行的下一个进程 / 线程 调度程序:挑选下一个进程 / 线程的内核函数(通过某种调度策略) 什么时候调度:主要是进程 / 线程里与运行态相关的状态切换时 内核运行调度程序的条件 一个进程从运行态切换为等待状态 一个进程结束 调度情况 阅读全文
posted @ 2022-02-16 14:11 DreamEagle 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 功能目标 **功能:**当缺页中断发生,需要调入新的页面而内存已满时,选择内存当中哪个物理页面被置换 目标: 尽可能减少页面换入换出次数(即缺页中断次数)。具体来说,把未来不再使用或短期内较少使用的页面换出,通常只能在局部性原理指导下依据过往统计数据预测 **页面锁定(Frame Locking): 阅读全文
posted @ 2022-02-16 14:10 DreamEagle 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 概述 起因:应用程序对内存的容量的需求大于内存容量的增长速度 解决办法: 起初,OS的内存管理能力较弱,程序员可以采取手动覆盖(overlay)的方法,自己编写程序,只将需要的程序和数据留在内存中,不需要的放硬盘(代表:DOS系统) 后期,当程序太多,超出内存容量时,可采用自动的交换(swappin 阅读全文
posted @ 2022-02-16 14:09 DreamEagle 阅读(65) 评论(0) 推荐(0) 编辑