Java进阶面霸|NIO开发需要知道的Netty精粹,JAVA( 三 )
JAVANIO直接和Channel打交道的Buffer是ByteBuffer , ByteBuffer接口提供主要的内存分配、IO读写等相关接口 。 值得注意的是JAVANIO提供了两种Buffer内存分配机制 , 一种是堆内存 , 另一种是直接内存 , 主要区别:
堆内存分配和回收比较快 , 但是网络数据需要从内核copy到堆中 。
直接内存分配和回收比较慢 , 但是免去了从内核copy到堆中的一次copy 。
这两种内存各有千秋 , 使用的时候要根据实际情况去选择 。
总结:
这篇文章主要介绍一下JAVANIO涉及到的一些基础概念以及JAVA提供的NIO接口进行简单介绍 , JAVANIO提供的接口使用起来 , 略复杂 , 实际项目中不建议直接使用JDK提供的API进行开发 。 Netty是一个基于JAVANIO开发的可靠的JAVANIO工具 , Netty的精粹我认为除了IO模型之外还有下面的几个部分:
高效的线程模型
内存池技术
零copy技术
Netty是一个优秀的开源NIO框架 , 我们可以使用它来快速构建高性能的IO服务器 , 后面我会通过继续深入学习和大家一起分享Netty的实现和原理 。
作者:陆晨
【Java进阶面霸|NIO开发需要知道的Netty精粹,JAVA】来源:开源中国Float_Luuu
推荐阅读
- 程序员■Java程序员必知:HashMap进行put操作会不会引起死循
- 课工场郑州翔天信鸽|JavaScript最常用,java是主流,JetBrains公布编程语言排名
- 猿灯塔|POI Excel,Java架构-Apache
- 【Java】github上标星70.5k,贼火的Java突击手册,全面详细对标阿里P7
- 科技怪人|C++程序员的学习进阶之路之书籍篇
- 「编程」后台编程语言互相争执,为何前端公认JavaScript?
- 腾讯@JAVA如何连接数据库
- Java■Java仍然排名第一,但Kotlin不容小视了
- 「javascript」为什么NodeJS是创业公司的首选?了解用于Web开发的NodeJS
- 人世繁华|进行面向对象程序设计深剖,可以一学,大牛带你深入Java核心技术