2020年8月12日
摘要: 在JDK1.5增加了import static语法,用于导入指定类的某个静态成员变量、方法或全部的静态成员变量、方法。 两种语法: 导入指定类的单个静态成员变量、方法: import static package.ClassName.fieldName|methodName; 导入指定类的全部静态成 阅读全文
posted @ 2020-08-12 10:35 xiaobaizzZ 阅读(506) 评论(0) 推荐(0) 编辑
  2020年3月9日
摘要: 字符数组 C语言中没有特定的字符串类型,通常是将字符串放在一个字符数组中。 字符串指针 除了字符数组,C语言还支持另外一种表示字符串的方法,就是直接使用一个指针指向字符串。 字符串中的所有字符在内存中是连续存放的,str指向的是字符串的第0个字符,即字符串的首地址;字符串中的每个字符的类型都是 ,所 阅读全文
posted @ 2020-03-09 19:53 xiaobaizzZ 阅读(395) 评论(0) 推荐(0) 编辑
  2020年3月8日
摘要: 题目:给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 1.可以认为区间的终点总是大于它的起点。 2.区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解释: 阅读全文
posted @ 2020-03-08 22:30 xiaobaizzZ 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 隐式类型转换是安全的,显式类型转换是有风险的。 static_cast "静态转换",也就是在编译期间转换,转换失败的话会抛出一个编译错误。 const_cast 将 const/volatile 类型转换为非 const/volatile 类型。 reinterpret_cast 仅仅是对二进制位 阅读全文
posted @ 2020-03-08 14:03 xiaobaizzZ 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 与拷贝构造函数不同,移动构造函数不分配任何新内存;它接管给定的StrVec中的内存。在接管内存之后,它将给定对象中的指针都置为nullptr。这样就完成了从给的对象的移动操作,此对象将继续存在。最终,移后源对象会被销毁。 移动赋值运算符执行与析构函数和移动构造函数相同的工作。类似拷贝赋值运算符,移动 阅读全文
posted @ 2020-03-08 12:49 xiaobaizzZ 阅读(891) 评论(0) 推荐(0) 编辑
  2020年3月7日
摘要: 题目:给出一个元素无序的数组,求出一个数,使得其左边的数都小于它,右边的数都大于等于它。 举例:[1,2,3,1,2,0,5,6],返回下标6(数字为5)。 思路: time complexity:O(n) space complexity:O(1) vector specialnum(vector 阅读全文
posted @ 2020-03-07 20:13 xiaobaizzZ 阅读(534) 评论(0) 推荐(0) 编辑
  2020年3月3日
摘要: 流量控制(flow control):就是让发送方的发送速率不要太快,要让接收方来得及接收。 利用滑动窗口机制可以很方便的在TCP连接上实现对发送方的流量控制。 利用滑动窗口实现流量控制 发送方的发送窗口不能超过接收方给出的接收窗口的数值。 TCP的窗口单位是字节,不是报文段。 B向A发送了零窗口的 阅读全文
posted @ 2020-03-03 17:12 xiaobaizzZ 阅读(570) 评论(0) 推荐(0) 编辑
  2020年3月2日
摘要: C++ 中保留了C语言的 struct 关键字,并且加以扩充。在C语言中,struct 只能包含成员变量,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含成员变量,又可以包含成员函数。 C++中的 struct 和 class 基本是通用的,唯有几个细节不同: 1.使用 阅读全文
posted @ 2020-03-02 22:35 xiaobaizzZ 阅读(129) 评论(0) 推荐(0) 编辑
摘要: fork()系统调用会通过复制一个现有进程来创建一个全新的进程。进程被存放在一个叫做任务队列的双向循环链表中,链表中的每一项都是进程PCB。 fork()运行时做的事情 当进程调用fork()后,当控制转移到内核中的fork()代码后,内核会做: 1.分配新的内存块和内核数据结构给子进程 2.将父进 阅读全文
posted @ 2020-03-02 22:21 xiaobaizzZ 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 实现动态内存分配要考虑以下问题: 空闲块组织:如何记录空闲块? 放置:如何选择一个合适的空闲块来放置一个新分配的块? 分割:将一个新分配的块放置到某个空闲块之后,如何处理这个空闲块中的剩余部分? 合并:如何处理一个刚刚被释放的块? 通过在每个块的头部存放信息可以方便的定位到写一个块的位置,以及本块的 阅读全文
posted @ 2020-03-02 15:23 xiaobaizzZ 阅读(444) 评论(0) 推荐(0) 编辑