Java NIO教程实战-NIO高效处理模型应用教程
jquery吧
全部回复
仅看楼主
level 1
今天给大家分享的是【Java NIO实战教程】。NIO能够在服务端解放线程,优化I/O和处理海量连接,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。
先来分享一个小故事:
小胖是一名导购,别看他平时吊儿郎当,工作起来可谓是如鱼得水,管你八方来客,兵来将挡水来土掩,处处照顾妥帖。
这天临近中午,店里来了一群难伺候的主儿,偏巧大家都去吃午饭了。虽说小胖业务能力尚可,但十几张嘴叽叽喳喳也难以应付,最难的是哪个也不敢得罪。
于是小胖在店里跑来跑去,为大妈们一一介绍。小胖累的满头大汗,突然范大妈大叫“小胖,你不是说这个最适合我吗,你刚才怎么也说最适合她,我可听见了。”
小胖心里想,果然唯女子和小人难养也。小胖还没晃过神,王大妈又喊“小胖,你不是说三分钟就给我看看的吗,这都多久了?”
然后店里就充斥着大妈们的抱怨和责备,就像炸开了锅一发不可收拾,小胖使出浑身解数安抚情绪也无用,不一会大妈们不满地离开了。
这时候小胖才算歇下一口气,突然肚子咕咕两声,小胖苦笑一下,摸了摸自己的肚子。
你看,处理问题的速度决定你的腰包厚度,小胖就演示了一个失败的例子。随着移动端应用的兴起和各种网络游戏的盛行,面对海量连接,传统的BIO模型是不足以支撑的,而NIO就是一种更高效的I/O处理模型。
为了让大家不被高并发与大量连接、I/O处理问题所困扰,动力节点推出了【NIO高效处理模型应用教程】。
2021年05月26日 06点05分 1
level 1
课程介绍:
早期程序受CPU影响较大,随着CPU处理能力的提升,现在的程序性能更多受I/O操作的影响, 其实各大操作系统对I/O操作做了很多性能的改进,但是JVM为了保证java程序在各种平台上运行效果一致,把各种操作系统对I/O性能的提升给屏蔽了, 使得Java在I/O领域一直处于劣势;
Java虽然有一套完备的I/O类,但是需要处理大量数据时,却可能对执行效率造成致命伤害,传统的I/O也不具备当今大多数操作系统具备的常用功能,如文件锁定,非阻塞I/O,内存映射等, 所以Java在JDK1.4中引用了NIO,可以最大限度的满足Java程序I/O的需求;
在NIO中有三大核心组件: Channel, Buffer, Selector,传统的IO面向流的,每次可以从流中读取一个或多个字节,只能向后读取,不能向前移动,NIO是面向缓冲区的,把数据读到一个缓冲区中,可以在缓冲区中向前/向后移动,增加了程序的灵活性。在NIO中,所有的数组都需要通过Channel传输,通道可以直接将一块数据映射到内存中。Channel是双向的,不仅可以读取数据, 还能保存数据,程序不能直接读写Channel通道,Channel只与Buffer缓冲区交互;
本套视频与大家深入探讨了NIO的新特性, 并告诉大家如何使用这些特性来提升你所写代码的执行效率,如何才能充分挖掘新的I/O特性所具备的各种潜能,对程序员所面临的有代表性的I/O问题也进行剖析,本课程采用PDT4J教学法,通过案例让大家学会如何使用这些功能来解决现实工作中常常遇到的I/O问题;
2021年05月26日 06点05分 2
level 1
课程目录:
第一章 NIO概述
1-1 程序读取数据模型
1-2 NIO与传统IO的区别
第二章 NIO之Buffer
2-1 缓冲区的常用属性
2-2 Buffer常用的API
2-3 演示Buffer的基本操作
2-4 缓冲区的批量传输
2-5 缓冲区创建的两种方式
2-6 缓冲区的复制与分隔
2-7 直接字节缓冲区
第三章 NIO之Channel
3-1 Channel概述
3-2 Scatter与Gather
3-3 FileChannel内存映射文件
3-4 FileChannel双向读写
3-5 FileChannel读写文件时缓冲区固定大小
3-6 FileChannel通道与通道之间的传输
3-7 Gather代码演示
3-8 SeverSocketChannel服务器
3-9 SocketChannel客户端
3-10 DatagramChannel数据接收端
3-11 DatagramChannel数据发送端
3-12 Pipe管道
第四章 NIO之Selector
4-1 Selector选择器基础1
4-2 Selector选择器基础2
4-3 SelectionKey选择键常用方法
4-4 使用选择器1
4-5 服务器端代码模板
4-6 使用selector开发服务器端
4-7 开发客户端
2021年05月26日 06点05分 3
1