♥Java IO知识体系详解♥

# ♥Java IO知识体系详解♥

本文主要梳理Java IO/NIO/AIO的知识体系。

# 知识体系

# 相关文章

A. Java进阶 - IO框架之知识体系:首先了解下Java IO框架包含什么,同时推荐下如何学习IO框架。

B. Java进阶 - IO框架之基础IO:其次对Java基础IO框架进行梳理,包括其分类,使用和源码详解。

C. Java进阶 - IO框架之NIO/AIO等:然后再对Unix IO模型学习,引入到Java BIO/NIO/AIO相关知识详解。

D. Java进阶 - IO框架之开源框架:最后再对常用的开源框架进行分析和详解。

  • Java NIO - 零拷贝实现 (opens new window)这里转一篇Java NIO 零拷贝的实现文章,在此之前建议先理解什么是Linux中零拷贝,可以先看这篇文章。本文从源码着手分析了 Java NIO 对零拷贝的实现,主要包括基于内存映射(mmap)方式的 MappedByteBuffer 以及基于 sendfile 方式的 FileChannel。最后在篇末简单的阐述了一下 Netty 中的零拷贝机制,以及 RocketMQ 和 Kafka 两种消息队列在零拷贝实现方式上的区别。

  • Java N(A)IO - 框架: Netty (opens new window)

    • Netty是一个高性能、异步事件驱动的NIO框架,提供了对TCP、UDP和文件传输的支持。作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于Netty构建,比如RPC框架、zookeeper等

# 参考文章

  • Java 基础IO源码 https://blog.csdn.net/panweiwei1994/article/details/78046000
  • Linux 网络 I/O 模型简介(图文)https://blog.csdn.net/anxpp/article/details/51503329
  • Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码) https://blog.csdn.net/anxpp/article/details/51512200
  • Java 编程思想(八)BIO/NIO/AIO的具体实现 https://blog.csdn.net/KingCat666/article/details/77689627

Java IO

  • 架构设计: 系统间通信(1)——概述从“聊天”开始上篇 https://blog.csdn.net/yinwenjie/article/list/6?
  • https://blog.csdn.net/yinwenjie/article/details/48274255
  • https://blog.csdn.net/yinwenjie/article/details/48344989
  • https://blog.csdn.net/yinwenjie/article/details/48472237
  • https://blog.csdn.net/yinwenjie/article/details/48522403
  • https://blog.csdn.net/yinwenjie/article/details/48784375

Netty

  • https://blog.csdn.net/yinwenjie/article/details/48829419
  • https://blog.csdn.net/yinwenjie/article/details/48969853
  • https://blog.csdn.net/woaixiaopangniu521/article/details/70279143
  • 转载 https://www.pdai.tech/md/java/io/java-io-overview.html