Java进阶 - IO框架

本文详细梳理了Java的IO框架,从基础IO到NIO、AIO的原理和实现,包括UnixIO模型、IO多路复用、Netty框架以及零拷贝技术。同时,深入分析了InputStream、OutputStream等源码,并探讨了Netty在NIO应用中的重要性。
A. Java进阶 - IO框架之知识体系:首先了解下Java IO框架包含什么,同时推荐下如何学习IO框架。@pdai
  • Java IO/NIO/AIO - Overview

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

B. Java进阶 - IO框架之基础IO:其次对Java基础IO框架进行梳理,包括其分类,使用和源码详解。@pdai
  • Java IO - 分类(传输,操作)

  • 本文主要从传输方式和数据操作两个方面分析Java IO的分类

  • Java IO - 设计模式(装饰者模式)

  • Java I/O 使用了装饰者模式来实现

  • Java IO - 源码: InputStream

  • 本文主要从JDK源码角度分析InputStream

  • Java IO - 源码: OutputStream

  • 本文主要从JDK源码角度分析 OutputStream

  • Java IO - 常见类使用

  • 本文主要介绍Java IO常见类的使用,包括:磁盘操作,字节操作,字符操作,对象操作和网络操作

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

  • 本文主要简要介绍 Unix I/O 5种模型,并对5大模型比较,并重点为后续章节解释IO多路复用做铺垫

  • Java IO - BIO 详解

  • BIO就是: blocking IO。最容易理解、最容易实现的IO工作方式,应用程序向操作系统请求网络IO操作,这时应用程序会一直等待;另一方面,操作系统收到请求后,也会等待,直到网络上有数据传到监听端口;操作系统在收集数据后,会把数据发送给应用程序;最后应用程序受到数据,并解除等待状态

  • Java NIO - 基础详解

  • 新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的,弥补了原来的 I/O 的不足,提供了高速的、面向块的 I/O

  • Java NIO - IO多路复用详解

  • 本文主要对IO多路复用,Ractor模型以及Java NIO对其的支持

  • Java AIO - 异步IO详解

  • 本文主要对异步IO和Java中对AIO的支持详解。@pdai

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘外闲时记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值