今天给大家分享的是【Java NIO实战教程】。NIO能够在服务端解放线程,优化I/O和处理海量连接,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。
课程介绍:
早期程序受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问题;
课程介绍:
早期程序受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问题;