![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面经解析
BS有前途
Everything will be better
展开
-
僵尸进程,孤儿进程,守护进程解释
此篇文章只是大概讲解了相关原理,以后会补充背景知识孤儿进程一个父进程退出,而它的一个或多个子进程还在运行,那么这些子进程将成为孤儿进程。孤儿进程将被 init 进程(进程号为 1)所收养,并由 init 进程对它们完成状态收集工作。由于孤儿进程会被 init 进程收养,所以孤儿进程不会对系统造成危害。僵尸进程一个子进程的进程描述符在子进程退出时不会释放,只有当父进程通过...转载 2019-03-12 13:34:37 · 2611 阅读 · 0 评论 -
进程和线程的区别,进程间通信方式,怎么选择比较好
此篇文章讲解比较多,面试记住原理特点应该差不多了进程和线程的区别进程进程是资源分配的基本单位。进程控制块 (Process Control Block, PCB) 描述进程的基本信息和运行状态,所谓的创建进程和撤销进程,都是指对 PCB 的操作。下图显示了 4 个程序创建了 4 个进程,这 4 个进程可以并发地执行。线程线程是独立调度的基本单位。一个进...转载 2019-03-12 13:31:53 · 1645 阅读 · 0 评论 -
TCP流量控制和拥塞控制
在理解流量控制和拥塞控制之前,有必要了解一下TCP可靠传输和滑动窗口:TCP可靠传输和滑动窗口流量控制:流量控制是为了控制发送方发送速率,保证接收方来得及接收。接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。将窗口字段设置为 0,则发送方不能发送数据。拥塞控制:如果网络出现拥塞,分组将会丢失,此时发送方会继续重传,从而导致网络拥塞程度更高...转载 2019-03-12 13:27:58 · 315 阅读 · 0 评论 -
三次握手和四次挥手过程 握手为什么三次,挥手为什么是四次?
在了解三握四挥之前,有必要了解TCP连接的各个状态以及标志位:TCP连接的各种状态以及标志位详解三次握手:假设 A 为客户端,B 为服务器端。 首先 B 处于 LISTEN(监听)状态,等待客户的连接请求。(A:CLOSED B:LISTEN) A 向 B 发送连接请求报文,SYN=1,ACK=0,选择一个初始的序号 x。(A:SYN_SEND B:LISTE...原创 2019-03-12 13:25:05 · 1100 阅读 · 0 评论 -
TCP可靠传输和滑动窗口
TCP可靠传输TCP 使用超时重传来实现可靠传输:如果一个已经发送的报文段在超时时间内没有收到确认,那么就重传这个报文段。一个报文段从发送再到接收到确认所经过的时间称为往返时间 RTT,加权平均往返时间 RTTs 计算如下:其中,0 ≤ a < 1,RTTs 随着 a 的增加更容易受到 RTT 的影响。超时时间 RTO 应该略大于 RTTs,TCP 使用的超时时间计算如下:...原创 2019-03-10 13:43:44 · 309 阅读 · 0 评论 -
TCP连接的各种状态以及标志位详解
TCP各种状态:LISTEN:侦听来自远方的TCP端口的连接请求SYN-SENT:再发送连接请求后等待匹配的连接请求(客户端)SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(服务器)ESTABLISHED:代表一个打开的连接FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认FIN-WAIT-2:从远程TCP等待连接...原创 2019-03-10 12:56:07 · 6367 阅读 · 0 评论 -
B树,B+树和红黑树
B树和B+树较为相似,B+树属于B树的变种,关于请阅读:简单解析B树(B-tree)与B+树对于红黑树,更为复杂,实在看不懂记不住,知道数据不只存放在叶子节点,通过左旋右旋来达到自平衡;有兴趣的可以访问:红黑树简介算了,看到腾讯实习面经都有问到,还是简单总结一下:(1)每个结点要么是红的要么是黑的。(2)根结点是黑的。(3)每个叶结点(叶结点即指树尾端NIL指针或NULL结点...转载 2019-03-14 08:51:23 · 323 阅读 · 0 评论 -
myisam和innodb的区别
1,MyISAM不支持事务,行级锁定和外键2,InnoDB不支持全文索引,而MyISAM支持。全文索引是指对char、varchar和text中的每个词(停用词除外)建立倒排序索引.3,MyISAM支持GIS数据,InnoDB不支持。即MyISAM支持以下空间数据对象:Point,Line,Polygon,Surface等。4,没有where的count(*)使用MyISAM要比Inn...转载 2019-03-14 08:50:03 · 168 阅读 · 0 评论 -
堆和栈的区别(此时理解为JVM内存结构中的堆和栈)
java虚拟机栈每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。从方法调用直至执行完成的过程,就对应着一个栈帧在 Java 虚拟机栈中入栈和出栈的过程。可以通过 -Xss 这个虚拟机参数来指定每个线程的 Java 虚拟机栈内存大小:java -Xss512M HackTheJava该区域可能抛出以下异常:当线程请求的...转载 2019-03-14 08:47:32 · 277 阅读 · 0 评论 -
HashMap底层实现结构
下面能看完最好,看不完请看下面几个HashMap的设计亮点(能说出来面试官肯定认为你读过源码):1,取余运算:如果哈希值为h,容量为c,这时候我们可以得出他的桶下标为h%c,很容易计算出但是源码中并没有这么做,他用的方法为:)首先我们要清楚,HashMap的容量必须为2的n次方(下面会说怎么做到的)假设容量为c=2^4=16,二进制表示为10000,那么c-1 = 01111...转载 2019-03-12 16:53:03 · 424 阅读 · 0 评论