标签
内容简介
本书是 O'Reilly 经典著作《Java Network Programming》第四版的中文译本,是一部以实用为导向的 Java 网络编程指南。全书从网络分层、TCP/IP 与 UDP、流与线程等基础概念讲起,逐步深入到 Java 网络类库的具体用法:用 InetAddress 与 NetworkInterface 处理 Internet 地址,用 URL、URI 与 URLConnection 定位和读取网络资源,深入 HTTP 协议、请求首部、Cookie 与缓存,并使用 Socket 与 ServerSocket 编写多线程客户端和服务器。在此基础上,书中还讨论了 JSSE 安全 Socket 与加密通信、NIO 缓冲区与通道、就绪选择与非阻塞 I/O,以及 UDP 数据报、DatagramChannel 和 IP 组播等内容。第四版经过全面修订,纳入了 REST、SPDY、异步 I/O 等当时的新技术,并配有大量可直接运行的示例代码。读者既能理解协议原理,也能照着示例完成常见的网络编程任务。
编辑推荐
如果你写过 Java 却只会用别人封装好的 HTTP 工具,这本书能帮你补上底层这一课。作者 Elliotte Rusty Harold 写 Java 网络程序近二十年,讲法一贯是「先讲协议、再看 API、最后给能跑的代码」,本书延续了这一风格:从 TCP/IP 分层、流与线程这些容易被略过的基础开始,再一层层推进到 URLConnection、Socket、SSL、NIO 与 UDP 组播。第四版在旧版基础上做了大幅修订,补充了 REST、SPDY、异步 I/O 等内容,对理解现代 Java 网络栈的来路很有帮助。全书示例完整、可操作性很强,既适合系统通读,也适合当作网络类库的案头参考。需要注意的是,本书成书较早,示例基于当时的 JDK 版本,部分 API 与今天的主流实践已有差距,阅读时最好配合官方文档同步对照。
适合谁读
适合
- 已掌握 Java 基础语法、想弄清网络底层机制的开发者
- 需要手写 Socket 服务器或自定义协议的工程师
- 准备面试或系统复习 Java I/O、NIO、HTTP 知识的人
- 想把零散的网络知识串成体系的高校学生与自学者
不适合
- 完全没有 Java 基础、刚入门的编程初学者
- 只想要 Spring 等框架快速上手教程的读者
- 期待覆盖 HTTP/2、HTTP/3 等最新协议细节的人
阅读建议
- 先通读第1至3章打牢协议、流与线程基础,再按需选读后续章节
- 每章示例动手敲一遍,并用 Wireshark 或 Telnet 观察实际网络交互
- 涉及 NIO 与 SSL 的章节可结合当前 JDK 官方文档对照阅读,留意 API 变更
- 把本书当作工具书长期放在案头,遇到具体网络问题时按类库章节查阅
目录
- 前言
- 第1章 基本网络概念
- 第2章 流
- 第3章 线程
- 第4章 Internet地址
- 第5章 URL和URI
- 第6章 HTTP
- 第7章 URLConnection
- 第8章 客户端Socket
- 第9章 服务器Socket
- 第10章 安全Socket
- 第11章 非阻塞I/O
- 第12章 UDP
- 第13章 IP组播
常见问题
这本书有第三版和第四版,该选哪个?
第三版由朱涛江、林剑翻译,2005年出版,基于 JDK 1.4/1.5,篇幅更大;第四版由李帅、荆涛翻译,2014年出版,修订后涵盖 REST、SPDY、异步 I/O 等内容。一般建议选第四版,除非你有特定需要查阅旧版内容。
书里的示例代码在今天还能跑吗?
大部分核心示例(Socket、URL、NIO 等)思路仍然适用,但书中基于当时 JDK,部分 API 已弃用或被替代,例如旧版日期与部分 HTTP 相关类。建议在较新的 JDK 上运行并参照官方文档调整。
零基础能直接读这本书吗?
不太推荐。本书假定读者已会写 Java 程序、了解基本的多线程概念,开篇就直接进入网络分层与流模型。零基础读者宜先学完 Java 语法与集合、异常、线程基础再回来。
这本书和《Java并发编程实战》有什么区别?
两者关注点不同:本书聚焦网络 I/O、协议与 Socket 编程,线程只是为编写多线程服务器服务;后者系统讲解并发模型、线程安全与同步机制。若要做网络服务端,两本可以配合阅读。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。