当前位置: 首页 > news >正文

【面试八股文】每日一题:谈谈你对IO的理解

谈谈你对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 模型

这三者的介绍,资料分享链接:

在这里插入图片描述

http://www.lryc.cn/news/129986.html

相关文章:

  • 200. 岛屿数量
  • 【LeetCode】581.最短无序连续子数组
  • 曲面(弧面、柱面)展平(拉直)瓶子标签识别ocr
  • 知识继承概述
  • 深度剖析数据在内存中的存储
  • 【ARM Linux 系统稳定性分析入门及渐进10 -- GDB 初始化脚本介绍及使用】
  • AQS源码解读
  • QT实现天气预报
  • 【马蹄集】第二十三周——进位制专题
  • [足式机器人]Part3 变分法Ch01-1 数学预备知识——【读书笔记】
  • 计算机网络----CRC冗余码的运算
  • 将Nginx源码数组结构(ngx_array.c)和内存池代码单独编译运行,附代码
  • java forEach中不能使用break和continue的原因
  • [杂项]水浒英雄谱系列电影列表
  • 6.RocketMQ之索引文件ConsumeQueue
  • 【C++学习手札】一文带你认识C++虚继承​​
  • 神经网络基础-神经网络补充概念-63-残差网络
  • 【从0开始学架构笔记】01 基础架构
  • vue3+ts+vite使用el-breadcrumb实现面包屑组件,实现面包屑过渡动画
  • 【Java 动态数据统计图】动态数据统计思路案例(动态,排序,数组)四(116)
  • Chrome命令行开关
  • 元宇宙赛道加速破圈 和数软件抓住“元宇宙游戏”发展新风口
  • Vue的鼠标键盘事件
  • Bytebase 2.6.0 - ​支持通过 LDAP 配置 SSO,支持 RisingWave 数据库
  • C# 读取pcd、ply点云文件数据
  • LeetCode1387 将整数按权重排序
  • 正则表达式--Intellij IDEA常用的替换
  • 前端如何安全的渲染HTML字符串?
  • C++学习第十四天----for循环
  • 快速解决在进入浏览器时,明明连接了网络,但是显示你尚未连接,代理服务器可能有问题。