以教案的方式进行整理技术点的:NIO与Socket编程技术

java的技术点不止是ssh、ssm,更应该落脚在多线程、并发处理、NIO以及Socket技术上

多线程

高性能的解决方案离不开多线程,使1个cpu运行更多的任务,使用Socket实现某些功能时是需求借助于多线程

并发处理

concurrent并发包是对多线程技术的封装

Socket

高性能的服务器的架构设计离不开集群,集群同样离不开Socket,Socket技术可以实现不同计算机间的数据通信,从而实现在集群中的服务器之间进行数据交换

NIO介绍

a、NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。

b、NIO系统的核心在于通道(Channel)和缓冲区(Buffer)。通道表示打开到 IO 设备(例如:文件、套接字)的连接。若需要使用 NIO 系统,需要获取用于连接 IO 设备的通道以及用于容纳数据的缓冲区。然后操作缓冲区,对数据进行处理。

在学习Java技术的过程中,当学习了Java SE/Java EE之后想探索更深层次的技术,如大数据、分布式和高并发类等,可能会遇到针对NIO、Socket的学习,但NIO和Socket技术的学习并不像JDBC一样简单,学习NIO和Socket时可能要遇到很多的问题。
为了在该技术领域有更高的追求,我将NIO和Socket的技术点以教案的方式进行了整理,希望能够帮助到其他学习NIO和Socket的朋友

其中介绍NIO和Socket开发中最值得关注的内容,并给出个人的一些想法和见解,希望拓宽、学习思路。

适读对象

  1. Java程序员
  2. 系统架构师
  3. 大数据开发者
  4. 其他对NIO和Socket技术感兴趣的人员

由于平台文章篇幅限制,细节内容过多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!需要的朋友可在文章末尾获取资料

内容介绍

第1章缓冲区的使用

第1章介绍NIO技术中的缓冲区,包括Buffer、ByteBuffer、 CharBuffer 类的核心API的使用。

以教案的方式进行整理技术点的:NIO与Socket编程技术_第1张图片

第2章通道和F ileChanne1类的使用

第2章介绍NIO技术中的Channel (通道)类的继承关系、核心接口的作用,并重点介绍FileChannel类的使用,以增加读者对NIO操作File类的熟悉度。

以教案的方式进行整理技术点的:NIO与Socket编程技术_第2张图片

第3章获取网络设备信息

第3章介绍如何使用Networklnterface类获得网络接口的信息,包括IP地址、子网掩码等,还会介绍InetAddress和InterfaceAddress类的常见API。如果进行Java开发,且基于Socket技术,那么这章可以给你需要的信息。

以教案的方式进行整理技术点的:NIO与Socket编程技术_第3张图片

第4章实现Socket通信

第4章介绍如何使用Java语言实现Socket通信。Socket通信是基于TCP/IP和UDP实现的。另外,将介绍ServerSocket、Socket、DatagramSocket 和DatagramPacket类的全部API。只有熟练掌握Socket技术后,在阅读相关网络框架的源代码时才不会迷茫。也就是说,如果读者想要进行Java高性能后台处理,那么必须要学习Socket,并且它是进行细化学习的基础。

以教案的方式进行整理技术点的:NIO与Socket编程技术_第4张图片 以教案的方式进行整理技术点的:NIO与Socket编程技术_第5张图片

第5章选择器的使用

第5章介绍NIO技术中最重要的Selector(选择器)技术。NIO技术的核心一多路复用就是在此章体现的。学习这章内容需要有Socket 的编程基础,这就是为什么在前面用两章篇幅来介绍Java的Socket 编程的原因。同步非阻塞可以大幅度提升程序运行的效率,就在此章体会- - 下吧。

以教案的方式进行整理技术点的:NIO与Socket编程技术_第6张图片

第6章AI0的使用

第6章介绍AIO。AIO是异步I0, NIO是非阻塞I0。AIO 在NIO的基础上实现了异步执行、回调处理等高级功能,可以在不同的场景使用AIO或NIO,可以说NIO和AIO是Java高级程序员、架构师等必须要掌握的技术。为什么要写这本书

以教案的方式进行整理技术点的:NIO与Socket编程技术_第7张图片 以教案的方式进行整理技术点的:NIO与Socket编程技术_第8张图片 以教案的方式进行整理技术点的:NIO与Socket编程技术_第9张图片 以教案的方式进行整理技术点的:NIO与Socket编程技术_第10张图片

在写作的过程中,做到言简意赅,并且全部用演示案例的方式来讲解技术知识点,使读者看到代码及运行结果后就可以知道此项目要解决的是什么问题。这类似于网络中的博客风格,让读者用最短的时间学习知识点,明白知识点的应用方式及使用时的注意事项,取得快速学习并解决相应问题的效果。

获取方式:需要这份 PDF文档的朋友 请点赞、转发、收藏之后

点击文末下方传送门即可获得免费领取方式!!!

你可能感兴趣的:(nio,java,架构)