NIO看破也说破
小眼睛聊技术
公众号“小眼睛聊技术”,互联网老兵,关注产品,技术,管理。
展开
-
NIO 看破也说破(五): 搞,今天就搞,搞懂Buffer
Java NIO 中的三件法宝:Channel 、Selector 和 Buffer 。前面几节中,我们花了很大篇幅讲过 Selector ,咱们今天只搞 Buffer 。希望能通过本文搞明白 Buffer 的基本用法和原理。掌握重点:两个重要指针不停变换;一块 Buffer 可读可写;基本操作的 api 用法;ByteBuffer 可以在 JVM 堆外分配直接内存原创 2020-06-07 08:58:05 · 330 阅读 · 1 评论 -
NIO看破也说破(一)—— Linux/IO基础
知识准备Linux中一切类型都被抽象成文件,如:普通文件、目录、字符设备、块设备、套接字等内存被划分为内核态和用户态,数据在用户态和内核态之间拷贝,内核态可以访问用户态数据,反之不可以只有内核可以操作硬件资源(网卡、磁盘等),内核提供syscall函数文件描述符文件描述符是内核创建的方便管理已打开文件的索引,指代被打开的文件。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。所有执行I/O操作的系统调用都通过文件描述符在Linux系统中,s原创 2020-05-25 15:06:04 · 358 阅读 · 1 评论 -
NIO 看破也说破(二)—— Java 中的两种BIO
上一篇Linux/IO基础我们得出结论,提供网络能力的不是Java是Linux操作系统。本文我们通过分析系统函数调用,观察不同jdk版本中BIO的实现差别。NIO看破也说破(一)- Linux/IO基础核心结论:不同版本jdk实现方式不一致如果不给socket设置nonblocking,accept会阻塞直到数据到达poll的调用是阻塞的,直到注册的event发生后,返回发生事件的fd环境准备centOS 7jdk1.5.0-jdk1.8.0strace测试代码BIOServe原创 2020-05-26 03:12:46 · 275 阅读 · 2 评论 -
NIO 看破也说破(三)—— 不同的IO模型
NIO系列,不同的IO模型是如何实现的原创 2020-06-02 09:25:37 · 232 阅读 · 0 评论 -
NIO看破也说破(四)—— Java的NIO
Java的NIO有selector,系统内核也提供了多种非阻塞IO模型,Java社区也出现了像netty这种优秀的 NIO 框架。Java的NIO 与内核的阻塞模型到底什么关系,为什么Java有NIO的API还出现了netty这种框架,网上说的 reactor 到底是什么?本文通过分析代码,带你一步步搞清楚Java的NIO和系统函数之间的关系,以及Java NIO 是如何一步步衍生出来netty框架。原创 2020-06-06 14:07:37 · 312 阅读 · 0 评论