书籍推荐了解java网络

为了弥补我(明显)缺乏网络基础知识,我正在寻找一本理想的书:

– >传输层上的1或2章:tcp,udp …

– >应用层上的1或2章:http,dns ……

– >本书的其余部分将致力于使用Java相关技术通过线路发送数据的实用方法。 这将涉及对现有产品的讨论(例如,粗麻布,protobuf,节俭,tibco ……),性能比较,案例研究……等。

这样的书存在吗?

编辑:感谢所有答案到目前为止…但是,列出的大多数书籍主要集中在网络堆栈的较低级别(即.tcp / ip,网络管理……)。 这只是答案的一半。 我仍然渴望听到关于另一半的建议:围绕Java开发人员提供的“最先进”选项进行讨论,以便提供数据,可用的产品/框架以及它们如何进行比较。

O’Reilly的Java网络编程第3版是学习使用Java进行网络编程的良好资源。

我会推荐java教程的网络部分 。 对于核心javafunction,java教程是最佳选择。

如果您正在寻求改进网络基础知识,那么如果您查看涵盖网络基础知识的书籍会更好。 一旦熟悉了网络基础知识,就可以从Java教程中的网络部分开始,探索适当的Java库。 网络是一个独立的领域,其理解独立于任何编程语言。

也就是说,我发现一些有用的网络书籍是:

使用TCP / IP进行网络互连,第1卷由Douglas Comer完成

W.Richard Stevens的TCP / IP Illustrated Vol.1

Andrew.S.Tanenbaum的计算机网络

作为一般网络的入门读物,我推荐Craig Hunt撰写的TCP / IP网络管理第三版 。 本书提供了有关TCP / IP堆栈的章节,另一章介绍了寻址和路由,本书的其余部分涵盖了最常见的网络服务和诊断工具。

如果您沉迷于网络购买或借用第2卷和第3卷,请参阅Richard Stephens的TCP / IP Illustrated,Vol 1:The Protocols 。

至于Java特定的网络介绍,我建议由Elliotte Rusty Harold撰写的Java网络编程第三版 ,这本书确实需要一些评论,但我仍然认为它是一个很好的介绍,是一个平易近人的阅读。

这是Java初学者的通用书籍,但关于网络的部分非常,非常清晰,易于掌握。

Head First Java,第2版

计算机网络 – Kurose / Ross 的自上而下的方法有相当重的Java倾向,并且在配套网站上有大量的伴随Java项目。

章:

  1. 计算机网络和互联网
  2. 应用层(HTTP,FTP,SMTP)
  3. 传输层(TCP,UDP)
  4. 网络层(路由器,IP)
  5. 链路层和局域网
  6. 无线和移动网络
  7. 多媒体网络
  8. 计算机网络的安全性
  9. 网络管理

对于TCP / IP文本 (不以Java为中心)

对于Java Networking书,我会选择这个 。 大多数书籍都是过时的,不包括新的东西,这个涵盖NIO以及在示例中使用generics。