第 11 页 - 学习
什么是文件描述符 (file descriptor)

fd在内核中通常表示为非负整数,当进程新建或者打开文件时,内核将会返回一个文件描述符,使用它可以用来读写文件。另外,新建socket时也会产生一个文件描述符。另外,有三个特殊的文件描述符,用以表示标准输入,标准输出及标准错误ST...

什么是 IO 多路复用

假设你的服务器要同时处理100个socket连接开一个线程,挨个处理。这就没法处理并发了开100个线程,分别处理。这么多的线程在内核态频频进进出出也很消耗性能开一个线程,去检查socket是否就绪,如果就绪则再开一个线...

localhost 与 127.0.0.1 有什么区别

localhost也叫local,正确的解释是:本地服务器127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)他们的解析通过本机的host文件,windows自动将localhost解析为...

linux 中如何打印所有网络接口

ifconfigifconfig是最简单最常用,但是打印信息太多了$ifconfigcni0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1450...

100 层楼,两个玻璃球,求最少多少次测出能摔碎玻璃球的楼层

给你两个一摸一样的球,这两个球如果从一定的高度掉到地上有可能就会摔碎,当然,如果在这个高度以下往下扔,怎么都不会碎,当然超过这个高度肯定就一定摔碎了。现在已知这个恰巧摔碎高度范围在一层楼到100层楼之间。如何用最少的试验次数,用这...

如何求数组中的 TOP k

取数组中前k个数做小顶堆,堆化数组中的其它数逐一与堆顶元素比较,若大于堆顶元素,则插入该数时间复杂度O(nlg(k))实现一个优先队列类,默认大顶堆,传入(x,y)=>x>y比较函数则为小顶堆。首先将前k个数...

大数乘法和大数加法

varmultiply=function(num1,num2){if(num1==="0"||num2==="0"){return"0&q...

如何实现一个 LRU

用双向链表+哈希。varLRUCache=function(capacity){this.capacity=capacity;this....

如何判断两个链表是否相交

只判断链表相交,好一点的方式是用双指针+哈希表。同时遍历a,b链表,如果当前a和b所在元素不在哈希表,则将元素加入哈希表。知道找到哈希表里面重复元素则算相交。时间复杂度o(max(a,b))是a,b不想交部分的较...

如何实现一个优先级队列

//封装优先级队列functionPriorityQueue(){//在PriorityQueue中重新创建一个类,和java中的内部类很相似functionQueueElement(element,prio...