只有光头才能变强
本文力求简单讲清每一个知识点,但愿你们看完能有所收获html
使用多线程时,不是多线程能提高程序的执行速度,使用多线程是为了更好地利用CPU资源!linux
程序在执行时,多线程是CPU经过给每一个线程分配CPU时间片来实现的,时间片是CPU分配给每一个线程执行的时间,因时间片很是短,因此CPU经过不停地切换线程执行。面试
线程不是越多就越好的,由于线程上下文切换是有性能损耗的,在使用多线程的同时须要考虑如何减小上下文切换算法
通常来讲有如下几条经验shell
协程。在单线程里实现多任务的调度,并在单线程里维持多个任务间的切换编程
还能够考虑咱们的应用是IO密集型的仍是CPU密集型的。缓存
参考资料:安全
或者能够反过来问:已经有IP地址了,为何须要MAC地址??在zhihu上还蛮多相似的问题的:服务器
我来简单总结一下为何有了MAC(IP)还须要IP(MAC):微信
已经有IP地址了,为何须要MAC地址??
MAC地址已是惟一了,为何须要IP地址?
若是有更好的见解,不妨在评论区下留言哦~
参考资料:
TCP 每一个状态说一下,TIME-WAIT状态说一下
TCP总共有11个状态,状态之间的转换是这样的:
流程图:
下面我简单总结一下每一个状态:
CLOSE_WAIT:对方发了一个FIN报文给本身,回应一个ACK报文给对方。此时进入CLOSE_WAIT状态。
close()
这个SOCKET并发送FIN报文给对方,即关闭本身到对方这个方向的链接2*MSL
TIME_WAIT状态通常用来处理如下两个问题:
TIME_WAIT过多怎么解决?
若是在高并发,多短连接情景下,TIME_WAIT就会过多。
能够经过调整内核参数解决:vi /etc/sysctl.conf
加入如下内容设置:
咱们能够知道TIME_WAIT状态是主动关闭链接的一方出现的,咱们不要轻易去使用上边两个参数。先看看是否是能够重用TCP链接来尽可能避免这个问题(好比咱们HTTP的KeepAlive)~
参考资料:
TCP是一个可靠的传输协议,它要保证全部的数据包均可以到达,这须要重传机制来支撑。
重传机制有如下几种:
滑动窗口能够说是TCP很是重要的一个知识点。TCP的滑动窗口主要有两个做用:
简略滑动窗口示意图:
详细滑动窗口示意图:
#1已收到ack确认的数据
。#2发还没收到ack的
。#3在窗口中尚未发出的(接收方还有空间)
。#4窗口之外的数据(接收方没空间)
接受端控制发送端的图示:
TCP不是一个自私的协议,当拥塞发生的时候,要作自我牺牲。就像交通阻塞同样,每一个车都应该把路让出来,而不要再去抢路了
拥塞控制主要是四个算法:
拥塞控制的做用:
拥塞的判断:
强烈建议阅读:
参考资料:
unix/linux环境下
僵尸进程:
wait
或waitId
获取子进程的信息(状态),子进程的描述符仍在系统中。孤儿进程:
僵尸进程危害:
解决僵尸进程的手段:
参考资料:
首先要知道的是:进程和线程的关注点是不同的:
操做系统进程间通讯的方式有哪些?
信号量(semaphore):信号量是一个计数器,能够用来控制多个进程对共享资源的访问。
操做系统线程间通讯的方式有哪些?(能够直接理解成:线程之间 同步的方式有哪些)
线程间的通讯目的主要是用于线程同步。
参考资料:
扩展阅读:
操做系统进程调度算法有哪些?
先来先服务算法(FCFS)
短进程/做业优先算法(SJF)
最高响应比优先算法(HRN)
最高优先数算法
基于时间片的轮转调度算法
最短剩余时间优先算法
多级反馈排队算法
参考笔记:
此部分是看别人的博文已经写得很好了,分享给你们~
ConcurrentHashMap中的扩容是否须要对整个表上锁?
总结(摘抄)要点:
参考资料:
什么是一致性Hash算法(原理)?
总结(摘抄)要点:
一致性Hash算法将整个哈希值空间组织成一个虚拟的圆环,好处就是提升容错性和可扩展性。
参考资料:
MySQL date、datetime和timestamp类型的区别
总结(摘抄)要点:
datetime和timestamp的区别:
参考资料:
判断一个链表是否有环(实际上就是看看有无遍历到重复的节点),解决方式(3种):
前指针==后指针
的状况参考资料:
判断两个无环链表是否相交,解决方式(2种):
将第一个链表尾部的next指针指向第二个链表,两个链表组成一个链表。
判断两个有环链表是否相交(注:当一个链表中有环,一个链表中没有环时,两个链表必不相交):
参考资料:
参考资料:
若是你们有更好的理解方式或者文章有错误的地方还请你们不吝在评论区留言,你们互相学习交流~~~
若是想看更多的 原创技术文章,欢迎你们关注个人 微信公众号:Java3y。Java技术 群讨论:742919422。公众号还有 海量的视频资源哦,关注便可免费领取。
可能感兴趣的连接: