java中io类型及成熟io框架

就io本身而言,概念上有5中模型:blocking I/O, nonblocking I/O, I/O multiplexing(select and poll), singal driven I/O, asynchronous I/O(the POSIX aio_functions)。

不同的操作系统对上述模型支持不同:unix支持I/O多路复用,不同系统叫法不同:freebsd里面叫kqueue;linux是epoll。而windows 2000的时候就诞生了IOCP支持最后一种异步I/O。


java为了支持异步I/O,诞生了noi,java 1.4引入的NIO 1.0是基于I/O复用的。在各个平台上会选择不同的复用方式:linux用的epoll,BSD上用kqueue,windows上应该是重叠I/O(肯定不是IOCP)。

NIO 2.0里终于有了AIO了,linux上用AIO,windows上用IOCP,都支持了概念上的最后一种IO--asynchronous I/O。

但是nio直接使用比较难用,所以有了mina,netty这些针对网络io部分(tcp/udp-传输层)的封装(nio也有非网络io部分),为了使nio更易用。


最后,很多人可能对tomcat、jetty、netty、mina容易弄混,再次谈谈他们的关系?

1.jetty和tomcat是同样的概念,是servlet容器,但是具体实现不同。

2.netty和mina是同样的概念,是socket框架,但是具体实现不同。

3.netty和mina属于NIO封装框架。tomcat和jetty使用了相关的技术。



转载于:https://www.cnblogs.com/jerryshao2015/p/4419667.html

JavaScript走向成熟 JavaScript在过去的几年里取得了巨大的发展,从一个简单的脚本语言逐渐演变为一门成熟的编程语言。JavaScript是一种广泛应用于Web开发的脚本语言,它的发展经历了多个阶段,从最初的用于简单表单验证的脚本语言,到现在成为前端开发的主力语言和后端开发的备选语言。随着时间的推移,JavaScript将继续发展和壮大,为开发者提供更多强大的功能和工具,助力他们构建出色的Web应用程序。在过去,JavaScript开发没有良好的模块化机制,这导致了代码的可维护性和可重用性的问题。现在,开发者可以使用。 阅读详情

相关推荐

Java IO框架图解与操作指南

Java的输入输出(IO)框架是任何从事Java开发的工程师都必须掌握的基础知识。在这一章中,我们将提供Java IO框架的概览,为其后的深入分析和实际应用打好基础。字符流(Character Streams)在Java中用于处理文本数据,其主要特点是以字符为单位进行I/O操作。与字节流不同,字符流使用的是Reader和Writer这两个抽象类以及它们的子类,它们将数据以16位Unicode字符形式进行读写。字符流的使用为处理文本数据提供了便利,因为大多数文本数据都是以字符形式存在,而不是字节。

weixin_35949153的博客 1062

JAVA的分类

Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。 byte:8位,最大存储数据量是255,存放的数据范围是-128127之间。short:16位,最大数据存储量是65536,数据范围是-3276832767之间。int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到

zdmnhgzc的博客 1万+

利用易特天下 ipbox&零层壹号 sdwan 组网盒子实现异地组网

一款支持zerotier的异地组网盒子

v808v808的博客 3348

2026 保姆级 Java 从入门到精通:十年老兵带你零基础到年薪 50 万(含校招规划 + 避坑指南)

文章摘要 2026年,Java依然是全球最主流的编程语言之一,在企业级应用、云原生、大数据和AI等领域保持领先地位。文章从行业应用、技术演进、就业市场等维度分析Java的长期价值,指出其在金融、电商、电信等关键行业的核心地位,以及云原生转型(Quarkus、虚拟线程)和大数据/AI融合带来的新机遇。对比Python、Go等语言,Java在就业广度、技术生态和职业稳定性上优势明显。作者还提供了分阶段的Java学习路线图,涵盖基础语法到高并发、微服务等进阶内容,并强调实践项目的重要性,为计算机专业学生规划了一条

从零开始,掌握网络安全。提供全面的网络安全教程、攻防演练技巧和行业动态。 6309

智能车学习日记【二】————十字和斜入十字

智能车学习日记【二】————十字和斜入十字 文章目录 智能车学习日记【二】————十字和斜入十字 前言 一、普通十字补线 二、斜入十字 1.判断是否为斜入十字和斜入十字类型 2.找斜入十字拐点 总结 前言 经过了一个多月的学习,小白的我终于也是能较稳定调出了2.8m以上的四轮车,过程中也遇到了很多困难,其中就有十字补线和斜入十字补线。尤其是斜入十字也是困扰了我快一周,现在和大家分享一下我处理斜入十字的方法(我的方法其实还有很多漏洞需要改进,仅供大家参考理解一下,欢迎各位在评论区指点出可

bsefef的博客 2740

Qt跨平台CAN通信实战:Vector、PCAN与周立功设备统一接口设计

本文针对Qt开发中常见的多品牌CAN设备兼容难题,提出了一套统一的跨平台CAN通信接口设计方案。通过抽象层封装,实现了对Vector、PCAN和周立功设备的统一操作,上层业务代码无需修改即可在不同硬件间切换,有效解决了驱动API差异、环境配置复杂和维护成本高等痛点,显著提升了代码复用率和开发效率。

weixin_29161785的博客 329

从幼稚到成熟----java概述

什么是Java 1.Java是一门面向对象的编程语言。 Java具有简单性、面向对象、分布式、健壮性、安全性、多线程、动态性、跨平台等特点。 2.Java的跨平台性。 1.什么是跨平台性? 通过Java语言编写的应用程序在不同的系统平台上都可以运行。 2.Java为什么可以跨平台? 确切的说,不是Java能跨平台,而是虚拟机(JVM)能跨平台。Java之所以能够跨平台是因为不同平台的JVM是不同的,Java源程序要先编译成与平台无关的字节码文件(.class),然后字节码文件再被解释成机器码运行,这是在虚拟

weixin_48453178的博客 2万+

R语言笔记三:矩阵、数组、列表和数据框

1.矩阵        矩阵是二维的,需要有行和列。向量是一维的。        在R软件中,矩阵是有维数的向量,这里的矩阵元素可以是数值型、字符型或者逻辑型,但是每个元素必须拥有相同的模式,这个和向量一致。 (1)创建矩阵: m <- matrix(1:20,4,5) 行数和列数的分配必须满足分配条件。若分配的行列过大,分配的元素不足够,则报错。 m <-

weixin_44384631的博客 6210

JAVA软件测试(贝泽成熟度模型)

在软件测试中也是如此:我们不知道,给定我们的测试输入,被测试的程序是否会陷入无限循环!拼写检查器的最佳用途不仅仅是找出拼写错误的单词,而是提高我们的拼写能力。我们仍然需要解决预言机的问题——如何知道,在给软件系统一些输入的情况下,它给出的输出是正确的。风险可能很小,后果并不重要,或者风险可能很大,后果是灾难性的,但风险总是存在的。计算机科学中的暂停问题基本上是不知道程序是否会在给定输入的情况下终止的问题。但是,在除了最琐碎的程序之外的任何程序中,正确性几乎都不可能实现或证明!

kirsten111111的博客 9864

Python中优化模块scipy.optimize的优化算法介绍

如果你有一个特殊的优化问题,你可以使用对象来自定义问题的求解。# 自定义目标函数# 自定义优化问题custom_problem.fun = custom_objective_function # 目标函数custom_problem.x = [1, 1] # 初始猜测# 执行优化# 打印结果在上述例子中,我们自定义了一个对象,并指定了目标函数和初始猜测,然后使用minimize函数进行求解。Scipy的优化模块提供了丰富的功能,适用于各种优化问题。

Pandas120的博客 3045

maxim max96712+max96717调试笔记

mxxim max96712 和max96717调试笔记

libuping2023的博客 1万+

java IO框架分析

jave.io框架 2010-11-10 22:18:34|分类:默认分类|举报|字号订阅 可从IO的类层次,IO框架的设计模式来论述。 总体来说,IO可以分为字节流和字符流,不同在于字符流由字节流包装而来,在IO读入之后经过JVM处理,把字节流转换成字符流。而字符流的字符采用哪种字符编码实现由JVM默认编码决定。而每个流都分输入和输出,所...

weixin_33670713的博客 1349

11、Windows Autopilot 部署与设备注册全攻略

本文详细介绍了Windows Autopilot的完整部署流程,涵盖注册配置文件设置、注册状态页面(ESP)配置、设备注册方法(包括CSV导入、JSON注入、在线注册等)、自动化脚本实现及故障排除技巧。通过手动与PowerShell自动化两种方式指导用户完成配置,并提供流程图、最佳实践和常见问题解答,帮助IT管理员高效实现设备零接触部署与管理。

ii567的博客 342

Java的IO框架

v。

2301_79431873的博客 999

向华为学习——解读158页 华为敏捷园区网技术解决方案【附全文阅读】

华为敏捷园区网解决方案通过策略随行和体验随身技术,满足移动办公场景下的网络需求。该方案采用敏捷交换机和防火墙自动执行策略配置,实现用户身份认证与业务策略的无缝衔接,且策略配置与IP地址解耦,简化了管理流程。相比传统技术,该方案有效解决了用户分级、QoS保障、无线接入等关键问题,确保用户在移动过程中获得一致的网络体验。

cdfunlove的博客 379

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java IO框架

流的分类:按方向:输入流:将存储设备的内容到内存中输出流:将内存的内容到存储设备中按单位:字节流:以字节为单位,可以读取所有数据字符流:以字符为单位,只能读写文本数据按功能:节点流:具有实际传输数据的读写功能过滤流:在节点流的基础之上的增强功能。

Naclarb优快云的博客 1340

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Java-io框架的认知与对比

IO框架选型与对比摘要 IO框架主要分为编程语言层库(如Java IO/NIO、Apache Commons IO)和分布式存储系统(如MinIO、FastDFS)。语言层库侧重本地文件操作,需注意资源释放;分布式框架则针对不同存储场景:MinIO适合云原生大文件存储,支持S3协议和自动扩展;FastDFS专为海量小文件优化但运维复杂。选型关键点包括性能需求、扩展性及生态兼容性,云原生场景推荐MinIO,传统小文件处理可选FastDFS。 (150字)

hhua0123的专栏 1094

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

五种IO类型简单了解

编程过程中经常会遇到 IO,而且各种技术框架底层也是各种IO的应用。这里简单整理下。 IO类型 参考《UNIX网络编程》,IO一共分五种类型 阻塞IO(bloking IO) 同步非阻塞IO(synchronous non-blocking IO) 信号驱动式IO(signal-driven IO) 多路复用IO(multiplexing IO) 异步IO(asynchronous IO) 前四种为同步IO,最后一种为异步IO。 概念 这里简单介绍.

hustzw07的博客 1万+

【IO】java IO流的类型及IO模型

本文详细介绍了IO流的几种类型以及它们使用的场景,同时介绍了常见的几种IO模型。

QiuYanping_的博客 874

Java中IO框架

Selector用于监听多个通道的事件,来通知连接打开,数据到达等操作,一个线程可以监听多个数据通道。),传入file descriptor和事件(readable、writable等)让kernel监测,当其中一个或多个fd数据就绪,就会返回结果,程序再发起真正的I/O操作(resvfrom());的IO状况,也就是说,利用Selector可使一个单独的线程管理多个Channel,其中在Win系统里面Selector默认的是Select函数,Linux默认的是epoll函数。进程发起真正的IO操作。

AlwaysBestSign_X的博客 527

【十四】Java IO框架(轻言巧辩IO流)

目录 一、流的概念 二、流的分类 三、字节流(案例详解) 四、编码方式(编码与解码转换案例) 五、字符流(案例详解) 六、File类(案例详解) 思维导图参考:【十四】Java IO框架章节思维导图 【习题与详解】 1、利用IO输入、输出流来复制图片,你试过吗? 2、(File类、递归)Java写一个查找盘符内指定文件的代码,你可以试试! 3、IO流小练习 一、流的概念 什么是流 ...

奈何的人生 1765

Java——IO流(二)-(7/7):补充知识:IO框架(什么是框架、什么是IO框架、Commons-io)

什么是框架 解决某类问题,编写的一套类、接口等,可以理解成一个半成品,大多框架都是第三方研发的。 好处:在框架的基础上开发,可以得到优秀的软件架构,并能提高开发效率。 框架的形式:一般是把类、接口等编译成class形式,再压缩成一个.jar结尾的文件发行出去。 什么是IO框架 封装了Java提供的对文件、数据进行操作的代码,对外提供了更简单的方式来对文件进行操作,对数据进行读写等。

li13437542099的博客 818

Java IO及Netty框架学习小结

JavaIO相关知识(BIO、NIO)、Reactor模式、Netty框架学习

go back 834

java io 框架_Java IO框架

可从IO的类层次,IO框架的设计模式来论述。总体来说,IO可以分为字节流和字符流,不同在于字符流由字节流包装而来,在IO读入之后经过JVM处理,把字节流转换成字符流。而字符流的字符采用哪种字符编码实现由JVM默认编码决定。而每个流都分输入和输出,所以,总体来说,IO有四个顶层类:InputStreamOutputStreamReaderWriter而作为机器级别于机器直接交互的则是字节流:Inpu...

weixin_28742653的博客 114

java 高效io框架_Java IO框架

IO框架Java IO的学习是一件非常艰巨的任务。它的挑战是来自于要覆盖所有的可能性。不仅存在各种I/O源端还有想要和他通信的接收端(文件/控制台/网络链接),而且还需要以不同的方式与他们进行通信(顺序/随机存取/缓冲/二进制/字符/行/字 等等)这些情况综合起来就给我们带来了大量的学习任务,大量的类需要学习。我们要学会所有的这些java 的IO是很难的,因为我们没有构建一个关于IO的体系,要构建...

weixin_35726575的博客 278
上一篇: 隐马尔科夫模型HMM
下一篇: 书写优雅的shell脚本(五)- shell中(())双括号运算符
dgit3228
博客等级 码龄12年 2粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值