栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

网络i/o编程3 NIO

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

网络i/o编程3 NIO

一 NIO 1.1 介绍

1.NIO:为同步非阻塞。位于java的 java.nio.*包下,NIO三大核心部分:

  1. Channel 通道
  2. Buffer 缓冲区:底层使用Unsafe类直接操作内存,Buffer中写入的所有数据jvm都不进行管理,不能被gc回收。
  3. Selector 选择器

2.NIO是面向缓冲区的。当数据读取到一个它稍后处理的缓冲区,需要时可在缓存区中前后移动,这就增加了处理过程中的灵活性,使用它可以提供非阻塞式的高伸缩性网络。

3.通俗讲NIO的同步非阻塞:NIO是可以做到用一个线程来处理多个操作的,假设有10000个请求过来,根据实际情况,可以分配50个或者100个线程来处理,不像之前的阻塞IO那样,非得1000个。

其中http2.0采用多路复用技术,做到同一个连接并发处理多个请求,而且并发请求的数量比http1.1大了好多个数量级。

1.2 Buffer的简单操作案例
package com.ljf.netty.nio;

import java.nio.IntBuffer;


public class BufferDemo {
    public static void main(String[] args) {
        IntBuffer  intBuffer=IntBuffer.allocate(5);
        for(int k=0;k 

结果:

1.3 flip()方法的作用

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/877877.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号