栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

netty

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

netty

netty系列文章

目录

netty系列文章

前言

一、netty概述和体系架构

第一章 异步和事件驱动

1.1 先了解下Java网络编程的两种 IO方式



前言

带着问题看书,直到你的问题被解决为止

一、netty概述和体系架构

第一章 异步和事件驱动

1.1 先了解下Java网络编程的两种 IO方式

 阻塞 IO

可以想想有什么缺点呢?

1、这样的方式,一个IO只能处理一个连接,如果有多个,是不是得创建多个IO,处理多个连接。

当多个IO线程处于休眠,等待输入或者输出数据,这会造成资源浪费。

2、需要为每个线程的调用栈都分配内存(默认值大小:64KB-1MB,取决于操作系统).

3. 如果有大量的连接,很能在没有达到极限之前,线程上下文切换就会带出来资源的开销。

场景:在并发连接很小的时候,可以使用,多的情况下,便不再适用了。

要怎么解决呢?

 这个时候我们可以了解下,java NIO,上图 

 非阻塞 NIO

Selector 选择器 java实现非阻塞IO的关键

它做什么呢?

它可以让Thread知道哪组非阻塞的Socket已经可以进行I/O操作了,它可以在任何时间检查任意的读操作或写操作的完成状态。因此一个Thread便可以处理多个并发的连接。

解决了什么问题呢?

1、使用较少的线程便可以处理多个连接。减少内存管理和上下文切换带来的资源开销。

2、其中的Socket没有I/O操作时,可以去执行其它已经准备好进行I/O的任务。

还有什么缺点呢?

当在高负载下要 可靠和高效 的 处理 和 调度I/O操作是比较繁琐和容易出错的,NIO也不一定可以保证。所以让我们看看netty可以带给我们什么吧。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684505.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号