9.15刷题日记

1.HashMap中key和value都可以为null,但最多只有一个key为null,可以有多个值为null

2.当进程处于TASK_UNINTERRUPTIBLE状态时不可以被杀死(不可中断的睡眠)

3.双向链表中的任意一个结点都可以直接访问前驱结点和后继结点

4.程序结束时(不管是正常结束还是异常结束),操作系统会释放该进程所有资源;所有分配的内存自动都被系统回收,不存在泄漏问题。

5.Mac OS系统用的是unix内核,Android、Ubunt、Redhat使用的是linux内核

6.任务调度:就绪状态—>运行状态之间的转换;

当一个进程执行了一条转移指令后,运行—阻塞—就绪,不会触发进程调度

触发进程调度:①正在运行的进程所分配的时间片结束,运行状态转为就绪状态;

②当一个进程创建了一个新的进程,新的进程处于就绪状态;

③正在运行的进程访问一个临界区时,保护此临界区的互斥信号量已被其他进程加锁,那进程就处于就绪状态,当其他程序释放之后,进程处于运行状态

7.存储空间的分配:

局部变量和函数参数存放在栈上

全局变量和静态变量被分配到同一块 全局静态区域中(数据段)

常量存储在常量存储区 ,不允许修改

代码存放在 代码区,不允许修改,但是可以执行

C++中new一个对象是从堆上分配内存的

8.①进程终止时,进程独有的内存空间会被释放,但是一些共享资源不会被释放。

②一个文件在磁盘上不一定是连续的地址,但是在进程空间中,通过页表的地址映射可以使得数据是连续的。

③符号连接的文件被删除后,链接只是被认为是“死链接”,并没有被删除。

9.各排序算法的时间复杂度:

归并排序的最好情况和最坏情况时间复杂度一样

直接选择排序的最好情况和最坏情况时间复杂度一样

 

10.查找制定节点,数组和链表平均时间复杂度都为O(1)

插入和删除时,数组平均需要移动n/2个元素,而链表只需修改指针即可(先遍历)

11.虚拟内存和物理内存的映射通过页表(page table)来实现

12.队列添加元素是在对尾,删除元素是在对头;

添加元素,尾指针rear+1;删除元素,头指针front+1;

13.前序遍历:根左右

中序遍历:左根右

后序遍历:左右根

14.将递归算法转换为非递归算法, 通常需要使用栈,每次递归都是在push,最后一次得到答案开始pop

15.软链接保存的是文件的绝对路径;仅仅是一个符号,保存了文件的地址;硬链接才是指向原始文件innode的指针;可以为目录和文件创建软链接;也可以为不存在的文件创建软链接

16.类型转换时只能从小的向大的转换(字节大小),大转小会丢失精度

17.public > protected > default > private

(pubilic所修饰的类、变量、方法,在内外包均具有访问权限。

protected子类可以访问,同一个包的类也能访问。

default当前包中所有类对这个成员都有访问权限,但对于这个包之外的所有类,这个成员却是private。

private只有本类的方法可以访问,其他任何类都无法访问这个成员。)

public:不限范围

protect:同一各类+同一个包+不同包子类

default:同一个类+同一个包

private:同一个类

18. 

 一个有10 个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数: int(*a[10])(int)

19.随机访问元素,则应使用 vector 或 deque 容器。
必须在容器的中间位置插入或删除元素,则应采用 list 容器。
不是在容器的中间位置,而是在容器首部或尾部插入或删除元素,则应采用 deque 容器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值