对java NIO 通道的一些了解
2023-09-14 09:07:33 时间
@引言
reactor(反应器)模式
使用单线程模拟多线程,提高资源利用率和程序的效率,增加系统吞吐量。下面例子比较形象的说明了什么是反应器模式:
一个老板经营一个饭店,
传统模式 - 来一个客人安排一个服务员招呼,客人很满意;(相当于一个连接一个线程)
后来客人越来越多,需要的服务员越来越多,资源条件不足以再请更多的服务员了,传统模式已经不能满足需求。老板之所以为老板自然有过人之处,老板发现,服务员在为客人服务时,当客人点菜的时候,服务员基本处于等待状态,(阻塞线程,不做事)。
于是乎就让服务员在客人点菜的时候,去为其他客人服务,当客人菜点好后再招呼服务员即可。 --反应器(reactor)模式诞生了
饭店的生意红红火火,几个服务员就足以支撑大量的客流量,老板用有限的资源赚了更多的money~~~~^_^
@通道
是NIO中的重要概念之一: 通道、缓冲区、选择器
通道:类似于流,但是可以异步读写数据(流只能同步读写),通道是双向的,(流是单向的),通道的数据总是要先读到一个buffer 或者 从一个buffer写入,即通道与buffer进行数据交互。
用 Java NIO 中权威的说法:通道是 I/O 传输发生时通过的入口,而缓冲区是这些数 据传输的来源或目标。对于离开缓冲区的传输,您想传递出去的数据被置于一个缓冲区,被传送到通道。对于传回缓冲区的传输,一个通道将数据放置在您所提供的缓冲区中。
正在学习 https://www.cnblogs.com/umgsai/p/6637466.html
相关文章
- spring容器初始化过程总结_java构造方法初始化
- Java 数组和List的使用「建议收藏」
- java转换字符串为时间_JAVA字符串转日期或日期转字符串
- java怎样解决除法精度_java 除法 精度问题
- import java.io 是什么意思_Java IO 详解
- java冒泡排序概练_Java的冒泡排序[通俗易懂]
- java %08d_总结Java中String.format()的使用[通俗易懂]
- java nio 详_java NIO 详解
- java activiti 教程_最近学习工作流 推荐一个activiti 的教程文档「建议收藏」
- 窥探下一个 Minecraft 社区时代 —— Java 版社区是否正在逐渐死去?
- linux发送邮件命令_java实现邮件发送功能
- rtsp 获取视频流 java_Java获取rtsp视频流,实现rtsp流预览功能,并将视频流每帧保存成图片…
- Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day06】——Java基础篇
- java中Socket编程(二)
- Java Activiti6.0 spring5 SSM 工作流引擎 审批流程 java项目框架详解编程语言
- Java容器(五):LinkedHashMap实现原理详解编程语言
- Java数据持久层框架 MyBatis之API学习八(Java API详解)编程语言
- Java消息队列–ActiveMq详解编程语言
- Oracle与Java的连接:揭秘数据库开发技术之间的神奇联系(oracle连接java)
- 策略Java中实现Redis限时过期策略(redisjava过期)
- 连接MySQL连接技术之Java实现(java的mysql)
- 在Linux上编译Java 实用教程指南(linux上编译java)
- Linux下Java命令的使用方法简介(linux下java命令)
- Java数据库之MySQL学习使用教程(mysql中java教程)
- Java如何帮助掌握Oracle(java了解oracle)
- java多种幻灯片切换特效(经典)
- java开发之MD5加密算法的实现
- 日历显示读出输入的年月的java代码