数据库种类
早期比较流行的数据库模型有三种,分别为层次式数据库、网络式数据库和关系型数据库。而在当今的互联网中,最常用的数据库模型主要是两种,即关系型数据库和非关系型数据库。
分区、分段、分页、段页式内存管理
分区式管理:最简单直观的方式,在内存中分配一个区,将整个进程放入这个区。缺点是会产生外碎片,即时间长了会在分区之间产生难以被利用的小空间。
分页式管理:将内存分成固定大小的页,分配若干页将整个进程载入。页面可以不连续是其重要优点,不会产生外碎片,更有效地利用了内存,不过会产生一些内碎片,即分配给进程的最后一个页往往不能正好用完,不过在页面大小不是很大的时候可以接受。
分段式管理:将程序分为若干个段,如数据段和代码段,加以不同的保护。施加保护是分段式的优点,但其仍是向分区式管理一样的连续分配。
段页式管理:同样将程序分段,加以不同的保护,但是各段不再连续分配,而采用分页式离散分配。
以上四种全是实存管理。即进程要么全部载入内存中,要么就不能载入。
请求式分页和虚拟内存
请求式分页:将进程放入虚拟内存中,由于一个进程的页面不会同时全部被用到,只将需要用到的页面调入物理内存。即进程并没有整个在物理内存中。
几个请求式分页的概念:(博客链接:请求式分页中的内存分配)
固定分配:物理内存中分配给进程的内存块数一定。
可变分配:物理内存先分配给进程一些内存块,如不够,可适当增加。
局部置换:发生在分配的内存块已用完,又发生了缺页时,只能置换本来就是自己的内存块。
全局置换:发生在分配的内存块已用完,又发生了缺页时,可以置换到操作系统保留的空闲页。这其实相当于增加了进程占有的内存块数。
三种分配方式:固定分配局部置换、可变分配全局置换、可变分配局部置换。固定分配、全局置换不能组合。
http状态码
1xx:表示通知信息,如请求收到了或正在进行处理
2xx:表示成功,如接收或知道了
3xx:表示重定向,如要完成请求还必须采取进一步行动
4xx:表示客户的差错,如请求中有错误的语法或不能完成
5xx:表示服务器的差错,如服务器失效无法完成请求
运算符优先级
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
interface
interface前只能用public修饰符,因为interface(接口)是让别人用的,用static和final是不能继承的,protect和private更不用说
局域网与广域网
(1)广域网WAN(wide area network)
(2)城域网MAN(metropolitan area network)
(3)局域网LAN(local area network)
(4)个人区域网PAN(personal area network)
函数标识符
标识符用来表示函数、类型及变量的名称,是字母、下划线和数字的排列。
1、必须用字母或下划线开头。
2、只能是字母、下划线、数字的组合,不能出现其他符号。
2、大小写的含义是不同的。
3、标识符的名称不能是C语言中的关键字,关键字是具有特定含义的标识符
MTU——最大传输单元,数据大小>MTU 则分片
中断处理过程与子程序调用压栈时的区别
在中断处理过程中程序计数器(PC)和程序状态字(PSW)寄存器的内容都要压栈保存。在子程序调用时,由系统硬件限制只保存程序计数器的内容,不保存PSW的内容;如果需要保存PSW内容可由软件来实现。
线性与非线性
数据元素间有线性关系——线性结构(所谓线性关系:除第一个元素外,其他元素有且只有一个前驱;除最后一个元素外,其他元素有且只有一个后继!)
常用的线性结构:线性表、栈、队列、双队列、数组、串
常用的非线性结构:二维数组、多维数组、树(二叉树等)、图、广义表
死锁条件
产生死锁的四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 占有且等待:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3)不可强行占有:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。