首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
熊纪元
掘友等级
后台开发
think digital and be human
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
7
文章 7
沸点 0
赞
7
返回
|
搜索文章
最新
热门
java内存模型与volatile
在计算机硬件结构中,为了平衡cpu和内存之间由于速度带来的差距,cpu中引入了cache作为处理器与内存之间的缓冲。在多核的处理器中,每个核都有属于自己的cache,这就带来了cache一致性的问题。前面提到的MESI协议就是用于处理cache一致性问题的一个协议,它将cach…
cache一致性里的MESI协议
在有多个核的处理器的处理器中,每个核都有自己的cache,而如何确保多个核的cache内容的一致则是一个很容易遇到的问题,MESI协议就是一个专门用来解决cache一致性的协议。很多处理器使用的都是MESI协议或者MESI协议的变体,而MESI协议其实也是MSI协议的变种。ME…
linux perf简单总结
perf是linux系统中提供的性能分析工具,它基于一个叫“Performance counters”的内核子系统实现,同时支持硬件(CPU、PMU(Performance Monitoring Unit))和软件(软件计数器、tracepoint)层面的性能分析。 perf与…
Linux磁盘缓存机制
最近遇到了一起跟磁盘相关的线上故障,借此总结一下之前不太了解的Linux磁盘缓存相关的知识。 总的来说磁盘缓存出现的原因大概有两个:第一是访问磁盘的速度远慢于访问内存的速度,通过在内存中缓存磁盘内容可以提高访问速度;第二是根据程序的局部性原理,数据一旦被访问过,就很有可能在短时…
netty中的epoll实现
在java中,IO多路复用的功能通过nio中的Selector提供,在不同的操作系统下jdk会通过spi的方式加载不同的实现,比如在macos下是KQueueSelectorProvider,KQueueSelectorProvider底层使用了kqueue来进行IO多路复用;…
linux线程实现
前面提到进程和线程的区别,进程是资源分配的基本单位,线程是程序执行的基本单位。线程都属于某个进程,而同一个进程下的不同线程分别有共享和独享的数据,这里再列举一下: linux是遵循POSIX标准的操作系统,所以linux也需要提供遵循POSIX标准的线程实现。而最初linux系…
POSIX Thread
在传统的unix模型中,当一个进程需要另一个实体来完成某项任务时,它就fork一个子进程出来处理,比如在一个网络服务器程序中,父进程accept一个连接,然后fork一个子进程,由该子进程处理与连接对端的客户端之间的通信。 fork是昂贵的。fork要把父进程的内存映像复制到子…
Unix域协议
如果我们的目的仅是在同一台主机上的不同进程之间进行通信,那么除了TCP/UDP套接字以外我们还可以使用Unix域协议。Unix域协议是IPC(进程间通信)的方式之一,Unix域协议使用套接字API,支持同一台主机的不同进程之间进行通信。直观上来说Unix域协议有点类似使用本地回…
什么是队头阻塞以及如何解决
通常我们提到队头阻塞,指的可能是TCP协议中的队头阻塞,但是HTTP1.1中也有一个类似TCP队头阻塞的问题,下面各自介绍一下。 队头阻塞(head-of-line blocking)发生在一个TCP分节丢失,导致其后续分节不按序到达接收端的时候。该后续分节将被接收端一直保持直…
linux IO复用之epoll总结
《UNIX网络编程》里并没有提到epoll,不知道为啥,以下的内容是根据linux manual总结的。 epoll是在linux上提供的实现IO复用的机制。epoll与poll类似,可以同时监听多个描述符;epoll新增了边缘触发和水平触发的概念,而且在处理大量描述符时更有优…
下一页
个人成就
文章被点赞
686
文章被阅读
162,049
掘力值
3,631
关注了
12
关注者
422
收藏集
0
关注标签
32
加入于
2019-01-08