腾讯云
Java
1. Java变量的传递方式
值传递
OS
2. 栈和堆的区别(OS层面)
栈是先进后出的,一般是OS自动分配的,堆是由程序员自己申请的
函数定义的变量是在栈上,譬如malloc是在堆上
操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间(可能是其他算法)的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序
3. 虚拟内存
虚拟内存为了扩大进程对内存的使用空间,主要有页表置换算法
opt,fifo,lru
4. 中断
中断分为多种,分别有物理中断,虚拟中断等等
中断可以实现进程之间的通信,分页中断还可以进行虚拟内存的页面交换
5. 系统调用
系统调用即System Call,为了扩充机器功能、增强系统能力、方便用户使用而在内核中建立的过程(函数)