CS基础

49 阅读2分钟

os 

ps命令可以查看进程以及对应线程的运行情况 

vim通过\N查看下一个搜索词 

shell通过$引用脚本入参 

线程模型分为内核态,用户态以及混合态,jvm属于内核态 

BIO的两个阶段都是阻塞 

NIO的第一个阶段不断轮询,第二个阶段阻塞 

IO多路复用第一个阶段监听多个fd并阻塞等待fd的事件通知,第二个阶段阻塞;监听方式有selector数组,poll链表以及epoll红黑树保存监听FD,链表保存就绪FD。事件通知机制包括水平触发和边缘触发两种方式 

信号驱动IO第一个阶段不阻塞,第二个阶段阻塞 

AIO两个阶段都不阻塞 

零拷贝指堆内对象byteBuff引用jvm内存外的直接内存,避免了内核数据拷贝到用户空间 

IO数据格式包括字符流和字节流

ssh可以通过将A服务器公钥拷贝到B服务器实现A免密登陆B 

计算机网络

tcp的四次挥手包括close-wait和time-wait两个阶段,和三次握手 

可靠性由序号确认号,校验和,拥塞控制和流量控制保证 

socket是一个fd文件,封装了tcp,udp以及icmp等不同协议 

ssl原理是浏览器通过服务器公钥将对称秘钥A发送给服务器,后续就用A进行加密,因为对称秘钥加密速度快于非对称秘钥 

304状态码表示数据没有修改,缓存可用 

http请求头包含了cookie,contentType以及Authorization等字段 

http是无状态,通过cookie和session实现状态保存,cookie的作用域是当前域名,session保存在tomcat线程的concurrentHashMap中 

因为浏览器同源策略会有跨域问题,可以通过后端设置允许跨域请求头或者通过nginx本地代理解决 

DNS采用UDP,分为根,顶级,nameServer以及LDNS几类,请求它们之前会先检查缓存以及本地host 

子网掩码用于区分网络号和主机号,有A,B,C三类,每一类都有各自的私有地址 

ARP协议用于转换IP地址和MAC地址,路由选择协议包括RIP,OSPF以及BGP三类