您的位置:首页 > 理论基础 > 计算机网络

这份书单会告诉你,Java网络编程其实很重要

2020-05-14 07:45 567 查看

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

Java工程师往往容易忽视的一块知识点,其实就是Java网络编程,为什么呢,因为如果我想写一个Java Web项目,我只要用SSM就可以轻松搞定,写好我们的controller、service和dao就可以了,也就是只需要关心业务逻辑,不需要关心前端请求的路由、甚至是后端的负载均衡和网络请求处理,因为这些东西很多时候都被Nginx和Tomcat给吃掉了,Nginx帮我们做好了负载均衡,Tomcat则帮我们完成TCP连接的建立,HTTP请求的处理,把所有复杂的技术细节都给屏蔽了。

不过随着技术发展和更迭,大公司对于人才的要求也越来越高,对于高并发服务端编程能力的要求也在提高,比如在直播、实时通讯、游戏服务端开发等技术领域,通信协议和网络编程就成为了很重要的一个技术课题,相应的在Java领域,我们就必须要了解NIO、Linux epoll以及Netty等和网络通信相关的技术。如果你想做基础技术研发,比如消息队列、RPC框架的研发,那么网络编程也是必备的基础能力。

那么今天我们就借此机会,来介绍几本关于Java网络编程方面的优质书籍,以帮助大家更好地掌握这方面的知识,我们将从Java Web出发,依次介绍NIO网络编程、Tomcat的设计原理,以及Netty这类通信编程框架领域的权威书籍。

Java网络编程系列书单

深入分析JavaWeb技术内幕

点击书籍图片即可查看对应思维导图!

这本书是Java Web的集大成之作,涵盖了大部分Java Web开发的知识点,作者是资深的淘宝Java工程师,恨不得在一本书里把所有的Java Web知识点丢给讲清楚,不过,一本书显然无法把所有细节都讲完,但是作为Java Web的入门或者进阶书籍来看的话还是很不错的。

Java网络编程其实和Java web息息相关,Java Web的技术其实很大程度上都是基于Java网络编程来实现的,只不过Tomcat已经把网络编程的事情做好了,于是你需要做的就是通过spring等一些Javaweb框架来完成业务代码的开发。但如果想要深入了解Java网络编程,光会这些还不够。这本书不仅介绍了JavaWeb技术栈的核心内容,也可以帮助我们打开Java网络编程世界的大门,

作者介绍:

许令波,毕业于合肥工业大学,获计算机硕士学位。热爱Java Web技术,关注服务端性能优化,热衷开源技术的研究和分享,曾获developerWorks最佳作者称号。2009年进入淘宝工作,目前从事模板渲染框架与MVC框架的开发与应用、Java Web的性能优化、高访问量系统静态化和商品详情系统的业务改造等工作。

NIO与socket编程技术指南

点击书籍图片即可查看对应思维导图!

想要学习Java网络编程,首先你应该学的就是socket和NIO,在过去,Java还没有NIO的时代,我们使用socket建立连接,用BIO也就是阻塞IO来完成服务端的网络编程,后来NIO出现了以后,基于NIO的各种框架和Web容器也逐渐更新换代,比如netty网络编程框架,Tomcat容器等,都是用了NIO技术,了解了NIO,就是了解网络编程的第一步,而这也是一切Java网络编程框架的核心技术。

这本书主要介绍Java语言中高性能处理的原理技术:NIO和Socket。非常详细地讲解了NIO中的缓冲区、通道、选择器、编码,以及使用Socket技术实现TCP/IP和UDP编程,这对理解基于NIO和Socket技术为基础所开发的NIO框架是非常有好处的,在互联网技术日新月异的时代,Netty以及Kafka等这些高性能处理框架都在底层应用到了NIO和Socket,所以当你目前是有计划进军互联网技术时,本书也许会带给你一个方向。

作者简介

高洪岩,某世界500强项目经理,有10年Java相关开发经验,精通Java语言,擅长J2EE、EJB、Android、报表和多线程,以及并发相关的技术内容,理论与实践经验颇丰。著有《Java多线程编程核心技术》《Java并发编程:核心方法与框架》《NIO与Socket编程技术指南》《Java EE核心框架实战 第2版》《Jasper Reports+iReport报表开发详解》《Android学习精要》等书籍。

Tomcat架构解析

点击书籍图片即可查看对应思维导图!

作为一个Java工程师,想必你对于Tomcat这个web容器并不陌生,毕竟我们开发的大部分web应用都要运行在这只猫上面,那么你是否思考过,为什么Tomcat可以做到这一切呢,为什么不是你写好业务代码,直接在本地或者云端直接运行和部署,而是需要运行在一个Web容器上呢。其实Tomcat就是帮你把客户端发来的Web请求准确地投放到每个控制器上,如果你想要更深入了解其中原理,那么这本书可能值得你一读。

这本书全面介绍了Tomcat的架构、各组件的实现方案以及使用方式,主要包括Tomcat的基础组件架构以及工作原理,Tomcat各组件的实现方案、使用方式以及详细配置说明,Tomcat与Web服务器集成以及性能优化,Tomcat部分扩展特性介绍等,市面上关于Tomcat的书确实不多,这本书值得推荐。

作者简介

刘光瑞,北京窝客研发总监,负责窝客产品研发管理及总体架构设计。拥有十几年的企业级大型业务系统研发架构经验,成功带领团队设计并研发基于Tomcat的组件化微服务架构。2007年在四达软件担任高级架构师,主导了数个省份的广播电视省网业务运营支撑系统的架构设计及优化工作。2012年在电讯盈科担任高级技术顾问,参与了中国移动供应链系统的架构及研发。在应用系统架构及性能优化方面积累了丰富的经验。

netty权威指南

点击书籍图片即可查看对应思维导图!

讲完了Tomcat,接下来就到知名的异步网络编程框架netty了,netty其实就是一个对NIO进行包装的开源网络编程框架,它不需要你基于NIO去开发复杂的网络应用程序,而是直接通过一套非常易于使用的API直接把最实用的功能提供给开发者,像平时的业务开发工程师其实对于这类框架接触并不会太多,反而是做中间件、底层开发的同学会对这些东西更加关注,如果你有兴趣学习netty,那么这本书是一个不错的选择。

《Netty 权威指南(第2 版)》是异步非阻塞通信领域的经典之作,基于全新版本的Netty 5.0 编写,是国内首本深入介绍Netty 原理和架构的书籍,也是作者多年实战经验的总结和浓缩,内容不仅包含Java NIO入门知识、Netty 的基础功能开发指导、编解码框架定制等,还包括私有协议栈定制和开发、Netty 核心类库源码分析,以及Netty 的架构剖析。

作者简介

李林峰,Netty中国推广者,现华为技术有限公司平台中间件架构与设计部设计师,公司总裁技术创新奖获得者。长期从事高性能通信软件的架构设计和开发工作,有多年在NIO领域的设计、开发和运维经验,精通NIO编程和Netty、Mina等主流NIO框架。

如果想看更多技术好书,可以关注微信公众号【程序员书单】作者黄小斜,目前是阿里Java工程师,业余时间广泛读书,在公众号里除了分享程序员必读的技术书籍之外,也会推荐很多关于个人成长、投资理财等方面的书籍。你烦恼的每个问题,书中都有答案。**

在这里,我们将为你推荐帮助程序员以及互联网从业者自我提升的各类好书、优质学习资源和工具,每周pick精品书单,解读经典书籍。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tomcat netty