NIO与Socket编程技术指南
细化到特性级别,涵盖领域中核心技术,包括缓冲区、通道、选择器以及基于Socket的TCP/IP和UDP编程
- 定价:¥99.00
- 校园优惠价:¥62.37 (63折) (马上了解)
- 评分:
(已有2条评价)
- 电子书:NIO与Socket编程技术指南
- 促销活动:
- 我要买:
基本信息


【插图】

编辑推荐
技术畅销书作者撰写,掌握高并发与网络编程基石技术:NIO与Socket
细化到特性级别,涵盖领域中核心技术,包括缓冲区、通道、选择器以及基于Socket 的TCP/IP和UDP编程
内容简介
作译者
目录
第1章 缓冲区的使用 1
1.1 NIO概述 5
1.2 缓冲区介绍 6
1.3 Buffer类的使用 7
1.3.1 包装数据与获得容量 7
1.3.2 限制获取与设置 10
1.3.3 位置获取与设置 12
1.3.4 剩余空间大小获取 13
1.3.5 使用Buffer mark()方法处理标记 14
1.3.6 知识点细化测试 15
1.3.7 判断只读 22
1.3.8 直接缓冲区 22
1.3.9 还原缓冲区的状态 23
1.3.10 对缓冲区进行反转 24
1.3.11 判断是否有底层实现的数组 28
1.3.12 判断当前位置与限制之间是否有剩余元素 29
1.3.13 重绕缓冲区 30
1.3.14 获得偏移量 32
1.3.15 使用List.toArray(T[])转成数组类型 33
前言
早在几年前,笔者就曾想过整理一份基于Java语言的NIO与Socket相关的稿件,因为市面上大部分的Java书籍都是以1章或2章的篇幅介绍NIO与Socket技术,并没有完整地覆盖该技术的知识点,而限于当时的时间及精力,一直没有如愿。
机会终于来了,公司要搭建基础构架知识体系,我负责公司该技术方向的培训,这重燃了我对NIO和Socket技术的热情。在学习Java技术的过程中,当学习了Java SE/Java EE之后想探索更深层次的技术,如大数据、分布式和高并发类等,可能会遇到针对NIO、Socket的学习,但NIO和Socket技术的学习并不像JDBC一样简单,学习NIO和Socket时可能要遇到很多的问题。为了在该技术领域有更高的追求,我将NIO和Socket的技术点以教案的方式进行了整理,并在公司中与同事一起进行学习和交流,同事的反响非常热烈。若干年前的心愿终于达成,同事们也很期待这本书能早日出版发行,那样他们就有真正的纸质参考资料了。希望本书能够受到其他学习NIO和Socket的读者喜爱,这是我最大的心愿。
本书介绍NIO和Socket开发中最值得关注的内容,并给出个人的一些想法和见解,希望拓宽读者的学习思路。
在学习NIO和Socket技术之前,建议先了解一下多线程与并发相关的知识,这对设计和理解代码有非常大的帮助。多线程方面的资料推荐《Java多线程编程核心技术》,并发相关的资料推荐《Java并发编程:核心方法与框架》,这两本书都是笔者编著的,希望可以给读者带来一些帮助。
本书特色
在本书写作的过程中,我尽量做到言简意赅,并且全部用演示案例的方式来讲解技术知识点,使读者看到代码及运行结果后就可以知道此项目要解决的是什么问题。这类似于网络中的博客风格,让读者用最短的时间学习知识点,明白知识点的应用方式及使用时的注意事项,取得快速学习并解决相应问题的效果。
读者对象
Java程序员
系统架构师
大数据开发者
其他对NIO和Socket技术感兴趣的人员
如何阅读本书
本着实用、易懂的学习原则,本书通过6章内容来介绍Java多线程相关的技术。
第1章介绍NIO技术中的缓冲区,包括Buffer、ByteBuffer、CharBuffer类的核心API的使用。
第2章介绍NIO技术中的Channel(通道)类的继承关系、核心接口的作用,并重点介绍FileChannel类的使用,以增加读者对NIO操作File类的熟悉度。
第3章介绍如何使用NetworkInterface类获得网络接口的信息,包括IP地址、子网掩码等,还会介绍InetAddress和InterfaceAddress类的常见API。如果进行Java开发,且基于Socket技术,那么这章可以给你需要的信息。
第4章介绍如何使用Java语言实现Socket通信。Socket通信是基于TCP/IP和UDP实现的。另外,将介绍ServerSocket、Socket、DatagramSocket和DatagramPacket类的全部API。只有熟练掌握Socket技术后,在阅读相关网络框架的源代码时才不会迷茫。也就是说,如果读者想要进行Java高性能后台处理,那么必须要学习Socket,并且它是进行细化学习的基础。
第5章介绍NIO技术中最重要的Selector(选择器)技术。NIO技术的核心——多路复用就是在此章体现的。学习这章内容需要有Socket的编程基础,这就是为什么在前面用两章篇幅来介绍Java的Socket编程的原因。同步非阻塞可以大幅度提升程序运行的效率,就在此章体会一下吧。
第6章介绍AIO。AIO是异步IO,NIO是非阻塞IO。AIO在NIO的基础上实现了异步执行、回调处理等高级功能,可以在不同的场景使用AIO或NIO,可以说NIO和AIO是Java高级程序员、架构师等必须要掌握的技术。
媒体评论
本书在以下方面可以帮到你:
涵盖大部分NIO与Socket技术点,每一个技术特性都予以验证和分析;
所选技术都是典型、主流的方法和库,高效、实用;
没有臃肿的案例,只有精巧并直达核心的技术讲解;
精研细磨技术细节,学习效果更加优质。