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

同步与堵塞完全是两码事

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

首先需要了解这些概念,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 的 I/O 操作类在包 java.io 下,大概有将近 80 个类,但是这些类大概可以分成四组,分别是:...
    Tycc阅读 343评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,803评论 18 399
  • 参考 https://www.cnblogs.com/hapjin/p/5736188.html https://...
    jection阅读 4,108评论 3 32
  • 写在前面的话: 最近在读《游戏力》,虽然还没有读完,但是脑海里不时地浮现出我和七喜在不同年龄段玩过的游戏,而这些...
    晓晴心情阅读 444评论 0 0
  • 最近几天母亲因为腿疼住院,天天陪在医院,看见形形色色的病号,对医院这个救死扶伤之地有了更多的体悟。 1.一个见证生...
    宛如初夏阅读 189评论 0 0