【从入门到放弃-Java】并发编程-NIO使用
前言
上文【从入门到放弃-SpringBoot】SpringBoot源码分析-请求过程中我们了解到,tomcat接收、返回请求的过程都是基于NIO实现的。日常工作中有很多基于NIO的使用,我们知道NIO可以提高系统的并发度,接下来的系列我们来深入学习下NIO,本文先从使用上简单概述。
NIO概述
NIO即non-blocking(New IO),是指jdk1.4 及以上版本里提供的新api。
NIO和IO最大的区别:IO是以流的方式处理数据,而NIO是以块的方式处理数据;IO对事件的处理是阻塞的,NIO是非阻塞的
NIO的核心部分:
- Channel
- Buffer
- Selector
NIO主要分为标准输入输出和网络请求
标准输入输出NIO
读取
private static void readNio() { try { //1、开启

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ASP.NET Core on K8S学习初探(2)部署WebAPI到K8S
在上一篇《单节点环境搭建》中,通过Docker for Windows在Windows开发机中搭建了一个单节点的K8S环境,接下来就是动人心弦的部署ASP.NET Core API到K8S了。但是,在部署之前,我还是把基本的一些概念快速地简单地不求甚解地过一下,过完这些基本概念就可以体验一下部署一个ASP.NET Core WebAPI到K8S了。 一、K8S集群基本概念 (1)集群 首先,K8S集群也是需要多台服务器组成,作为容器的编排管理平台,只有一个节点在生产环境是不够的。 (2)Node 其次,Node作为K8S集群中的工作节点,一个Node可以是VM或物理机,它运行真正的应用程序。 K8S中的Node又分为Master和Worker,和Hadoop集群中的NameNode和DataNode类似,简而言之就是一个是负责调度(维护集群状态)的,一个是负责干活(运行容器)的。 (3)资源 在K8S每个组件(比如Pod,Service等)开放对外暴露的都是一组RESTful API,所以我们所有对于组件的操作都可以通过RESTful API来完成,因此我们可以将其看作是资源。 (4)...
- 下一篇
【从入门到放弃-Java】并发编程-NIO-Channel
前言 上篇[【从入门到放弃-Java】并发编程-NIO使用]()简单介绍了nio的基础使用,本篇将深入源码分析nio中channel的实现。 简介 channel即通道,可以用来读、写数据,它是全双工的可以同时用来读写操作。这也是它与stream流的最大区别。 channel需要与buffer配合使用,channel通道的一端是buffer,一端是数据源实体,如文件、socket等。在nio中,通过channel的不同实现来处理 不同实体与数据buffer中的数据传输。 channel接口: package java.nio.channels; import java.io.IOException; import java.io.Closeable; /** * A nexus for I/O operations. * * &l
相关文章
文章评论
共有0条评论来说两句吧...