美文网首页
java IO、NIO、AIO,序列化/反序列化

java IO、NIO、AIO,序列化/反序列化

作者: John13 | 来源:发表于2018-09-04 16:41 被阅读0次

    同步与堵塞完全是两码事

    有人觉得堵塞就是同步,非堵塞就是异步,其实以前我也是这么想的,其实同步与堵塞这完全是两码事,所以写篇文章来说说为什么是两码事,也顺便说说各种组合的可以达到的效果,帮助大家了解底层的原理.

    首先需要了解这些概念,OS里面有内核态和用户态两种,程序进行IO操作的时候一般是两步,第一步是IO初始化也就是准备好IO操作,第二步就是真正的IO操作.其中第一步决定同步还是异步,第二步决定堵塞还是非堵塞的,为什么这么说呢,我们以Linux为例来看看这个关键字的组合

    1. 同步堵塞IO

    2. 同步非堵塞IO

    3. 异步堵塞IO

    4. 异步非堵塞IO

    java IO NIO AIO:

    Netty入门教程——认识Netty
    Linux IO模式及 select、poll、epoll详解
    Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
    Java NIO:浅析I/O模型
    线程池大小设置,CPU的核心数、线程数的关系和区别,同步与堵塞完全是两码事

    Java IO主要主要在java.io包下,分为四大块近80个类:

    • 基于字节操作的I/O接口: InputStream和OutputStream

    • 基于字符操作的I/O接口: Writer和Reader

    • 基于磁盘操作的I/O接口: File

    • 基于网络操作的I/O接口: Socket(不在java.io包下)

    影响IO性能的无非就是两大因素:数据的格式及存储的方式,前两类主要是数据格式方面的,后两个类是存储方式方面的:本地和网络。所以策划好这两个方面的活动,有助于我们合理使用IO。

    序列化:

    Java序列化的几种方式以及序列化的作用
    Java中的关键字 transient
    Java transient关键字使用小记
    Java序列化理解与总结

    • 序列化方式比较:

    相关文章

      网友评论

          本文标题:java IO、NIO、AIO,序列化/反序列化

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