您现在的位置是:课程教程文章
java io和nio的区别
2023-12-14 21:12课程教程文章 人已围观
-
SolidWorks Simulation结构仿真分析培训
SolidWorks Simulation结构仿真分析培训课程目标:学习使用Solidworks Simulation协助你完成设计验证,产品设计方案的优化... -
【赵强老师】开发第一个Java程序
【赵强老师】开发第一个Java程序Java 是一项用于开发应用程序的技术,可以让 Web 变得更有意思和更实用。Java... -
Javascript小白入门精讲_第一部分
Javascript小白入门精讲_第一部分... -
税务 Taxation (TX)辅导
税务 Taxation (TX)辅导1、成为学期辅导班学员,可立即领取EasyGPA相应专业书籍礼包。 2、EasyGPA系列课...
1、Java IO和NIO之间第一个区别是,IO是面向流的,NIO是面向缓冲区的。
Java IO面向流意味着每次都能从流中读取一个或多个字节。从流中读取多少字节完全取决于程序员。这些字节无法缓存到任何地方;也就是说,你不能从流中前后移动数据。如果你真的需要移动数据,你需要先在缓冲区缓存这些数据。
Java NIO对Buffer的看法稍有不同。当数据被读取到buffer中时,buffer将在以后进行处理。如果您需要,您可以在buffer中移动数据;这使程序员在处理时更加灵活。但是,您必须检查buffer中是否包含您需要处理的所有数据。此外,您必须确保读取数据到达buffer时,您不能覆盖未处理的数据。
阻塞与非阻塞IO
2、Java IO中的各种流被堵塞,Java NIO是非阻塞模式保证线程要求从channel中读取数据。
Java IO中的各种流被堵塞,也就是说,当调用read()方法和write()方法时,线程会被堵塞,直到数据被读取或完全写入。在此期间,处理流的线程将无法完成。
Java NIO非阻塞模式保证线程要求从channel中读取数据,直到此时channel才能使用,或者如果此时没有数据可用,就什么也不做。而不是保存阻塞,直到数据可以读取,这里线程可以做其他事情。
以上就是java io和nio的区别分析,主要体会在面向的对象、阻塞方面的不同,感兴趣的小伙伴也可以找一些实例进行练习。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。
课程教程:java io和nio的区别上一篇:js中every方法怎么用?
下一篇:没有了