谈谈你对IO的理解
每日一题-Java核心-谈谈你对对IO的理解【面试八股文】
1.Java基础知识
Java IO(Input/Output)是Java编程语言中用于处理输入和输出的一组类和接口。它提供了一种在Java程序中读取和写入数据的方法。
Java IO包括两个主要的部分:
- 字节流:以字节为单位进行操作,字节流适用于处理二进制数据.
- 字符流。以字符为单位进行操作,而字符流适用于处理文本数据。
Java IO的核心类是InputStream和OutputStream,它们分别用于从输入源读取数据和向输出目标写入数据。另外,Reader和Writer类是用于读取和写入文本数据的字符流的基类。
2.设计模式
在IO的设计中其实也穿插了很多设计模式的应用。这块也是可以在面试的时候很好的和面试官畅聊的
-
装饰器模式
-
观察者模式
-
适配器模式
-
工厂模式
3. Java IO模型
IO模型这块是相对比较有难度的内容。我们可以从其中的一个点作为突破口来和面试官沟通。比如
- BIO(Blocking I/O)BIO 属于同步阻塞 IO 模型 。
- NIO(Non-blocking/New I/O)Java 中的 NIO 可以看作是 I/O 多路复用模型。也有很多人认为,Java 中的 NIO 属于同步非阻塞 IO 模型。
- AIO(Asynchronous I/O)异步 IO 模型
这三者的介绍,资料分享链接: