作为 web 工程师,我们每天都在和端口、socket 打交道,用的话可能很多人会用,但是问到它们的本质,可能能答出来的就很少了。 这篇文章,我们就来探究下端口和 socket 的本质。...端口的本质就是一段内存中的数据结构,我们可以通过监听它的变化,当数据写入的时候就能收到消息。...Node.js 中的 socket Node.js 的文件读写是通过 stream 的,而 POSIX 把网络操作 socket 也作为文件读写来处理,所以 Node.js 的 socket 也是 stream...各种语言都对这些操作系统的 api 做了封装,Node.js 也是。...希望这篇文章可以帮助大家理解端口的本质(内存中用于接受网络数据的数据结构),socket 的本质(POSIX 定义的网络通信 api),以及熟悉 Node.js 的 net 的 api。
这让我想起了 Node.js 的 --max-old-space-size=SIZE 可以设置堆大小一样,都是性能调优的参数。...当面试问到 Node.js 性能调优的时候,可以答设置 libuv 的线程池大小,堆大小设置的这两个参数/环境变量。...libuv 提供了 IO 相关的 api,在 Node.js 的架构中的位置如下: IO api 的 3 种形式 梳理清楚了同步异步方式的实现原理,我们再来看下 Node.js 都怎么提供这两种 api...Node.js 提供的 api 有 3 种形式,一种是同步的,一种是异步 callback、一种是异步 promise。...希望本文能够帮大家理清异步的本质,libuv 的作用,Node.js api 的形式,以及如何做 libuv 的调优。
2. 若没有找到Set方法,会调用对象的类方法+ (BOOL)accessInstanceVariablesDirectly;此方法返回YES时(默认返回YES...
使用NameSpace技术来修改进程视图,创建出独立的文件系统、主机名、进程号、网络等资源空间,再使用Cgroups来实现对进程的 CPU、内存等资源的优先级和...
光的本质 The nature of light 光传播的全部过程,有光源运动,传播过程,与其它物体的超距离相互作用,这三个过程。...关于光的本质,早在十七世纪中叶就被牛顿与麦克斯韦分别以“微粒说”、“波动说”进行了详细探讨,并成为当前所公论的光具有“波粒二重性”的理论基础。
我对他的理解Interpolator的本质就是一个函数在0到1的区间内的表现。 接下来逐一分析一下安卓源码中的Interpolator,来进一步阐述我的观点。...五、总结 Interpolator的本质就是一个函数在0到1的区间内的表现。 如何自定义Interpolator,只需要将函数表达式写到getInterpolation中即可。
了解epoll本质的 第一步 ,要从 硬件 的角度看计算机怎样接收网络数据。 计算机结构图 下图展示了网卡接收数据的过程。...了解epoll本质的 第二步 ,要从 CPU 的角度来看数据接收。要理解这个问题,要先了解一个概念——中断。 计算机执行程序时,会有优先级的需求。...了解epoll本质的 第三步 ,要从 操作系统进程调度 的角度来看数据接收。...只有先理解了不太高效的方法,才能够理解epoll的本质。 假如能够预先传入一个socket列表, 如果列表中的socket都没有数据,挂起进程,直到有一个socket收到数据,唤醒进程 。
什么是进制,进制的本质又是什么,为什么在计算的时候都会把十进制作为中间转换,其实这样的思维完全是错误的,进制的本质并不是我们熟悉的十进制。...进制的本质 进制的本质就是查表,与各种的转换没有任何关系,并不是说计算八进制,就把它转为十进制计算后再转回八进制,这种思想本来就是错误的,进制的本质就是写表和查表,我们之所以对十进制的特别熟悉,就是因为我们把十进制相关的表记住了...w=531&h=189&f=png&s=7600] 基本运算 进制的加减乘除运算依靠前面写出来的两个加发表和乘法表就可以满足了,一切依旧是查表,记住进制的本质就是查表。...w=398&h=346&f=png&s=27695] 总结 进制的本质就是查表,进制的本质就是掰手指头数数。 公众号:无心的梦呓(wuxinmengyi)
架构也是如此,如果能领悟架构的本质,就不会拘泥于现有的实践和理论框框,而以最直接的方式解决问题,无招胜有招。本文的内容包括架构的本质、架构的服务对象、架构师能力模型 、架构境界等。...抽象思维是往高层次的总结升华,由实到虚;而透过问题看本质则是由虚到实,往深层次地挖掘。...透过问题看本质使架构师能够敏锐地发现底层之真实,系统性端到端地思考问题,识别木桶的短板并解决之。 ...此时看到的已经是问题本质,看山不是山。 ...第四境界的方案,在了解问题本质的基础上,同时考虑现状,评估未来,不多做,不少做。
多数的软件厂商都在应用敏捷来解决瀑布式中导致的诸多问题。简而言之,使用固定时间长度的sprint来达成预先设定好的目标以及敏捷所主张的整个实施风格能够解决软件项...
经发现,womanA.Pet();本质上调用的是运行时类的say()方法而不是引用类型的say() 探究多态的本质 - 动态绑定 Human human = new Man();虽然我们new的对象是一个
所以,钱的本质,或者说货币的本质,就是它的可信性。它必须使人们相信,它是有价值的,然后才能成为钱,才能被收藏和支付。 二、可信性 为什么钱必须是可信的?因为对方必须相信它的价值,否则你没法支付出去。
内核启动的过程中会通过函数 do_initcalls,将按顺序从 __initcall_start 开始,到 __initcall_end 结束的 sectio...
JSX本质上是一种语法糖,它将被编译为一些函数调用: const Something = () => { return ( foo bar</span
因组里项目需要,我和另外一名同事要学习Node.js。...Node.js架构 ? 1. Node.js跨平台支持*nix与Windows得益于Libuv中间层,通过它去调用不同操作系统的底层操作。 2....Node.js特点 1. 单线程 优点:无需像多线程编程在意状态的同步问题,因此无死锁问题,也避免了线程上下文切换带来的性能开销 2....初学网络编程 Node.js标准库提供了http模块,其中封装了一个高效的HTTP服务器和一个简易的HTTP客户端。...Node.js学习资料 1. 《Node.js入门指南》,推荐,适合入门 2. 《深入简出Node.js》,有深度,推荐 五. 其他备忘 1.
程序执行的本质 程序执行的过程:代码区的指令不断执行,驱使动态数据区和静态数据区产生数据变化。 这一过程需要计算机的管控。下面我们着重介绍对代码区和动态数据区的管控。
Spring AOP 本质(3) Spring AOP很牛,AOP是OOP的补充,而非竞争者。 前面的例子离实际的应用太遥远。
CoreOS 在 2016 年底提出了 Operator 的概念,当时的一段官方定义如下:
什么是机器学习? 文献筛选”的故事:循证医学 我们都知道,现在优质医学资源非常稀缺,为了缓解这个问题,国外产生了一种叫做“循证医学”的做法。以后患病了不是先去找...
四 数据是一种信仰,“善”用才是本质 2016 年,一场围棋大战让人类引以为傲的智力顶配瞬间被AlphaGo 践踏得体无完肤。
领取专属 10元无门槛券
手把手带您无忧上云