美文网首页
io的发展

io的发展

作者: 传葱 | 来源:发表于2019-02-22 10:46 被阅读0次

前言

  • io是java知识的核心点,只有通过通信连接起来的io才叫互联网。
  • 分析io,nio, aio的优点和缺点,使用场景。

典型场景

  • 构建一个应用服务器,能够支持多个客户端连接
  • 这样一个场景,我们首先想到的就是使用ServerSocket构建同步阻塞服务,特征是为每一个连接创建一个线程,并且阻塞等待连接和连接完毕,劣势:消耗大量的线程,这些线程是需要分配存储空间的,当连接数量不断增大,对服务资源的消耗是非常大的。
  • 假设现在在服务端使用线程池,根据连接的不断变化订台改变线程数量,这样呢,但是即使是线程池也有线程切换的开销,大量线程之间的切换对于高并发的服务器来说也会带来巨大的资源消耗。
  • 第三种,也就是nio,我们前面介绍的都是同步阻塞模式,而nio是同步非阻塞模式,比较重要的概念是Selector, channel等概念,只有Selector会阻塞,服务端真正处理的线程只有一个。这样完美的避免了多线程内存分配和线程间切换带来的开销问题。
  • 第四种,aio,异步非阻塞,异步就是不需要等待上一步操作返回,而是采用事件,异步的方式,来构建操作顺序,而不是通过时间顺序

相关文章

  • io的发展

    前言 io是java知识的核心点,只有通过通信连接起来的io才叫互联网。 分析io,nio, aio的优点和缺点,...

  • IO发展

    socket---> bio ---> nio --> aio --> nettyio--------------...

  • java File类

    Classic IO 和 NIO java设计之初的IO架构被称为Classic IO。随着计算机的发展以及在硬件...

  • Java - 网络IO

    发展历程 Java1.0开始提供的IO都同步阻塞IO,即BIO。Java1.4开始提供了同步非阻塞IO,即NIO。...

  • node环境搭建

    一、node.js的发展IO.JS和node.js是差不多的,io.js是社区产物,不是官方的东西,io.js有很...

  • EDCON2019黑客松已开放报名,等你来战!

    unitimes.io 全球视角,独到见解 EDCON(www.edcon.io)是全球以太坊社区发展峰会系列,每...

  • 服务端编程模型

    后台技术发展史: 1)阻塞IO,Socket通信2)线程,进程阻塞IO,CGI时代, apache3)事件回调1...

  • 4.【每日分享】Java提供了哪些IO方式,NIO如何实现多路复

    IO 一直是软件开发中的核心部分之一,伴随着海量数据增长和分布式系统的发展,IO扩展能力愈发重要。 Java IO...

  • Keycat可在Bloks.io上使用了!(1)

    随着Bloks.io不断发展壮大,我们很高兴宣布与Keycat合作,为我们的用户提供与Bloks.io互动的更多选...

  • Linux网络IO介绍

    网络IO的发展过程随着Linux内核版本的迭代而发生变化,主要经历以下几个阶段: 1. 阻塞 IO(BIO)2. ...

网友评论

      本文标题:io的发展

      本文链接:https://www.haomeiwen.com/subject/nppsyqtx.html