错题集
1.下面对于页和页表描述不正确的是D
A页表的出现和虚拟内存息息相关
B多级页表是为了解决单级页表可能带来的页表过大的问题
C按页分配有时候过于浪费,因此操作系统还提供了小块内存的分配方式
D虚拟内存的映射页都是匿名页
4. 下面关于进程和线程说法错误的是c
A进程和线程在内核中采用统一的结构体进行管理
B线程是调度的基本单位,而进程则是资源拥有的基本单位
C同进程内的线程切换和多进程间的切换消耗的资源相同
D创建子进程需要完全复制内核结构体,而子线程不用
5.下面关于TCP协议描述正确的是D
A三次握手中accept()函数会从半连接队列获取连接并放至全连接队列
B四次挥手不可以仅用三次通信来完成
CTCP的拥塞控制算法均通过丢包作为拥塞触发的判断条件
DNagle,DACK对糊涂窗口综合征均有一定的效果
A. 半连接队列到全连接队列由TCP协议栈自动完成,accept从全连接队列中取出一个连接。
B. 四次挥手服务端的结束报文段可以和确认报文段合并,即延迟确认机制。
13.
有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时后立刻鉴别出那瓶水有毒? B
A1只
B10只
C100只
D1000只
补充知识点
1·对象List转对象数组
toArray()方法
2·对象数组转List
for循环,使用Stream中的Collector(只用于对象数组,基本数组不行)
List<Integer> integersList3 = Arrays.stream(integersArray).collect(Collectors.toList());
3·对象List转基本数据类型数组
int[] arrays2 = integersList.stream().mapToInt(i -> i).toArray();
4.基本数据类型数组转对象List
for循环最简单。
5.System.arraycopy()与Arrays.copyOfRange()
int[] b=new int[3]; System.arraycopy(new int[]{1,2,3},0,b,0,3);
(原数组,原数组起始位置,目标数组,目标数组起始位置,复制的长度)
int[] copy = Arrays.copyOfRange(b, 0, b.length);
(原数组,原数组起始位置,原数组尾标(不包括)),所以要到b.length才能复制整个数组)