zoukankan      html  css  js  c++  java
  • 这是我见过BIO/NIO/AIO讲的最清楚的博客了

    链接跳转

    最后,再举几个不是很恰当的例子来说明这四个IO Model:
    有A,B,C,D四个人在钓鱼:

    对应BIO,NIO,IO多路复用(select,epoll),AIO

    A用的是最老式的鱼竿,所以呢,得一直守着,等到鱼上钩了再拉杆;
    B的鱼竿有个功能,能够显示是否有鱼上钩,所以呢,B就和旁边的MM聊天,隔会再看看有没有鱼上钩,有的话就迅速拉杆;
    C用的鱼竿和B差不多,但他想了一个好办法,就是同时放好几根鱼竿,然后守在旁边,一旦有显示说鱼上钩了,它就将对应的鱼竿拉起来;
    D是个有钱人,干脆雇了一个人帮他钓鱼,一旦那个人把鱼钓上来了,就给D发个短信。

     

    package com.nxj.other;
    
    import java.nio.ByteBuffer;
    import java.util.Scanner;
    
    /**
     * @author ningxinjie
     * @date 2021/1/3
     * NIO使得用户程序可以直接使用直接内存,用于数据缓冲区,这样一来,对于文件频繁读写
     * 效率显然会提升,因为不需要内核态与用户态来回切换,来回拷贝了
     */
    public class NIOBufferTest {
        private static final int BUFFER = Integer.MAX_VALUE ;
        public static void main(String[] args) {
            ByteBuffer byteBuffer = ByteBuffer.allocateDirect(BUFFER);
            System.out.println("直接内存分配完毕");
            Scanner scanner = new Scanner(System.in);
            scanner.next();
            System.out.println("直接内存开始释放");
            byteBuffer = null;
            System.gc();
        }
    }
  • 相关阅读:
    转:java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
    Grid组件 列头居中
    XAML文档基础
    WPF框架之MVVM系列(一)
    WPF 树型控件(TreeView)
    WPF自定义控件开发
    ASP.NET MVC系列一:Global.asax用法分析
    WPF基础系列之 控件与布局
    WPF 自定义控件基类
    DbTool验证码
  • 原文地址:https://www.cnblogs.com/ningxinjie/p/14206602.html
Copyright © 2011-2022 走看看