Java教程

java基础day2Interview

本文主要是介绍java基础day2Interview,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1Java 中 IO 流分为几种?


按功能来分:输入流(input)、输出流(output)。
按类型来分:字节流和字符流。
字节流和字符流的区别是:8和16

字节流按 8 位传输以字节为单位输入输出数据,字符流按 16 位传输以字符为单位输入输出数据。

2BIO、NIO、AIO 有什么区别?


BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。
NIO:New IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。也支持阻塞式
AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。

BIO:请求-应答
NIO:有条件的请求-应答,线程池可以设置消息队列的大小和最大线程数。它的资源占用是可控的,无论多少个客户端并发访问,都不会导致资源的耗尽和宕机。

AIO:异步 IO 是基于事件和回调机制实现的,也就是应用操作之后会直接返回,不会堵塞在那里,当后台处理完成,操作系统会通知相应的线程进行后续的操作。

只有AIO是异步操作,BIO和NIO都是同步操作。
NIO 包含下面几个核心的组件:

  • Channel(通道)
  • Buffer(缓冲区)
  • Selector(选择器)

3Files的常用方法都有哪些?


Files. exists():检测文件路径是否存在。
Files. createFile():创建文件。
Files. createDirectory():创建文件夹。
Files. delete():删除一个文件或目录。
Files. copy():复制文件。
Files. move():移动文件。
Files. size():查看文件个数。
Files. read():读取文件。
Files. write():写入文件。

 

这篇关于java基础day2Interview的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!