温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
Java
口袋指南第4版
口袋
指南
CMYCMMYCYCMYKjava 9口袋指南fy.pdf 1 18/6/26 下午4:54内 容 简 介本书以通俗易懂的语言介绍了Java语言的语法、类型、并发编程等基础知识,同时还以样例的形式讲解了Lambda表达式、Java模块系统、JShell这些Java 8和Java 9新引入的特性。本书不仅能够满足初学者了解、掌握Java语言的需要,还能帮助资深的工程师快速熟悉和把握Java新技术的发展趋势。本书内容简洁、样例丰富,可以作为Java开发人员案头常备的参考书籍。2017 by Robert Liguori,Patricia Liguori.Simplified Chinese Edition,jointly published by OReilly Media,Inc.and Publishing House of Electronics Industry,2018.Authorized translation of the English edition,2017 OReilly Media,Inc.,the owner of all rights to publish and sell the same.All rights reserved including the rights of reproduction in whole or in part in any form.本书简体中文版专有出版权由OReilly Media,Inc.授予电子工业出版社。未经许可,不得以任何方式复制或抄袭本书的任何部分。专有出版权受法律保护。版权贸易合同登记号 图字:01-2017-8798图书在版编目(CIP)数据Java 9 口袋指南:第 4 版/(美)罗伯特 利果里(Robert Liguori),(美)帕特丽夏 利果里(Patricia Liguori)著;张卫滨译.北京:电子工业出版社,2018.8书名原文:Java Pocket GuideISBN 978-7-121-34602-6.J .罗 帕 张 .JAVA 语言程序设计指南 .TP312.8-62中国版本图书馆 CIP 数据核字(2018)第 137790 号责任编辑:张春雨印 刷:北京天宇星印刷厂装 订:北京天宇星印刷厂出版发行:电子工业出版社 北京市海淀区万寿路173信箱 邮编:100036开 本:787980 1/32 印张:8.125 字数:260千字版 次:2018年8月第1版印 次:2018年8月第1次印刷定 价:49.00元凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至,盗版侵权举报请发邮件至。本书咨询联系方式:010-51260888-819,。译者序在程序员群体中,有两个未解之谜:那就是最好的编程语言和最好的编辑器到底是什么。关于语言的争论在程序员群体中是司空见惯的现象,至于哪个是世界上最好的编程语言也是见仁见智的,但不可否认的是 Java 在企业级和互联网开发中依然占据着重要的地位。除了“跨平台”这一特性早年带来的红利外,Java 能够 20 多年长盛不衰的原因在于它是一门不断演进和优化的语言。尽管被其他语言的拥趸诟病演化缓慢,但 Java 确实在不断地革新,吸收和借鉴其他语言优秀的特征,比如 Lambda 表达式、函数式编程、泛型等。通过语言层面的改善,开发人员可以编写更加现代和更加简洁的代码,同时能够享受到软硬件架构体系演化所带来的收益。Java 另一个巨大的优势在于活跃的开源社区,像 Spring、Hibernate、Apache 等开源项目和组织,简化了大规模企业级 Java 应用的开发,抽离了技术底层的关注点,能够让我们专注于业务开发。因此,不管是 J2EE、SOA,还是近两年火热的微服务架构,都离不开 Java 语言的身影。既然 Java 语言如此受欢迎,那么关于 Java 语言的技术图书用浩如烟海来形容就丝毫不过分了。在这方面既有专注于语言用法的经典图书,也有深入底层 JVM 原理的佳作,那么IV 译者序这本Java 9 口袋指南的特殊之处在哪里呢?这不是一本深入讲解 Java 语法细节的图书,也不是分析 JVM实现原理的书,该书以 Java 的基本用法作为切入点,在介绍Java 已有功能的基础上,重点讲解了 Java 8 和 Java 9 中的一些新特性,比如 Lambda 表达式、JShell、模块系统,能够让读者快速理解和掌握最新的技术。本书行文简洁,同时附带大量样例,能够让读者在示例中理解相关特性的原理和用法。所谓“九层之台,起于累土”,我们只有掌握了 Java 的基本功能,夯实了知识基础,再去学习各种日新月异的开发框架,应对层出不穷的架构理念,才会得心应手。本书的英文版已经畅销多年,作者会根据 Java 语言的发展不断对内容进行更新和补充,希望中文版的发行能够帮助到更多的中国程序员朋友。尽管在翻译的过程中,我力争达到准确和通畅,但限于水平和时间,肯定还有许多的不足或纰漏之处,热忱期待您提出意见,希望本书能够对您有用,您可以通过 联系到我,祝阅读愉快。张卫滨2018 年 5 月于大连目录前言.XIII第 1 部分 语言第 1 章 命名约定.3缩略词.3注解名.3类名.4常量名.4枚举名称.4泛型类型参数名.4实例与静态变量名.5接口名.5方法名.5包名.5模块名.6参数和本地变量名.6VI 目录第 2 章 词法元素.9Unicode 与 ASCII.9压缩字符串.11注释.11关键字.12识别符.13分隔符.14操作符.15字面量.16转义序列.19Unicode 货币符号.20第 3 章 基本类型.23原始类型.23原始类型的字面量.24浮点实体.26原始类型的数值提升.28包装类.29自动装箱和拆箱.30第 4 章 引用类型.33引用类型与原始类型的对比.34默认值.34引用对象的转换.36原始类型与引用类型的转换.37传递引用类型到方法中.37引用类型的对比.38拷贝引用类型.40引用类型的内存分配与垃圾回收.42目录 VII第 5 章 面向对象编程.43类和对象.43可变长度的参数列表.49抽象类与抽象方法.50静态数据成员、静态方法、静态常量以及静态初始化器.51接口.52枚举.53注解类型.54函数式接口.56第 6 章 语句和代码块.57表达式语句.57空语句.58代码块.58条件语句.58迭代语句.60控制转移.62synchronized 语句.63断言语句.63异常处理语句.64第 7 章 异常处理.65异常层级结构.65检查型/非检查型异常和错误.66常见的检查型/非检查型异常和错误.67异常处理的关键字.69异常处理的过程.74定义自己的异常类.74打印异常信息.75VIII 目录第 8 章 Java 修饰符.77访问修饰符.78其他(非访问)修饰符.79修饰符的编码.80第 2 部分 平台第 9 章 Java 平台,标准版.83常用的 Java SE API 库.83第 10 章 开发的基础工具.97Java 运行时环境.97Java 开发工具集.97Java 程序结构.99命令行工具.100类路径.105第 11 章 内存管理.107垃圾收集器.107内存管理工具.109命令行参数.110调整 Java 堆的大小.113元空间.113与 GC 进行交互.113第 12 章 基本输入和输出.115标准的流 in、out 和 err.115标准输入和输出类的层级结构.116目录 IX文件读取和写入.117Socket 读取和写入.118序列化.120压缩和解压文件.121第 13 章 新 I/O API(NIO.2).123Path 接口.123Files 类.124其他特性.125第 14 章 并发.127创建线程.127线程状态.128线程优先级.129常用方法.129同步.130并发工具集.132第 15 章 Java 集合框架.135Collection 接口.135实现.136集合框架方法.136集合类的算法.137算法的效率.138Comparator 函数式接口.139便利的工厂方法.142第 16 章 泛型框架.143泛型类与接口.143具有泛型的构造器.144X 目录替换原则.145类型参数、通配符与边界.145Get 和 Put 原则.146泛型具体化.147非泛型类型中的泛型方法.148第 17 章 Java 脚本 API.149脚本语言.149脚本引擎实现.149搭建脚本语言和引擎环境.151第 18 章 日期和时间 API.155与遗留系统的互操作.156区域性日历.156ISO 日历.156第 19 章 Lambda 表达式.163E 基础.163特定用途的函数式接口.166通用的函数式接口.167关于 E 的资源.168第 20 章 JShell:Java Shell.171起步.171片段.172使用 JShell.173JShell 的特性.180JShell 命令小结.184目录 XI第 21 章 Java 模块系统.187Jigsaw 项目.187Java 模块.188编译模块.190模块化 JDK.191jdeps.194定义模块.196导出包.196声明依赖.197传递性依赖.197定义服务提供者.198jlink.200第 3 部分 附录附录 A Fluent API.203附录 B 第三方工具.205附录 C UML 基础.215索引.225前言Java 9 口袋指南一书的目标是成为读者的手边书,本书提供了 Java 语言和平台标准特性的快速指南。Java 9 口袋指南提供了开发或调试 Java 程序所需的知识,包括了有用的编程样例、表格、图和列表。本书中所介绍的 Java 是基于 Java SE 9 讲解的,包括了 80 个以上的 JDK 增强计划(JDK Enhancement Proposal,JEP)的子集。本书中介绍的 Java 包含了对语言的通用修改以及新的 Java Shell和 Java 模块系统。本书将会取代之前的 Java Pocket Guide、Java 7 Pocket Guide 和 Java 8 Pocket Guide。处于一致性和读者兴趣的考虑,第 4 版Java 9 口袋指南的主要代码对 Gliesians Web 应用(http:/ Web 应用的主要关注点在于提供免费的工具类,用于系谱学和小型无人机系统。本书中还提供了准备 Oracle 认证程序员考试的资料。如果你考虑获取这样的 Java 证书,还可以购买 Edward Finegan 和 Robert Liguori 合著的 OCA Java SE 8 Programmer I Study Guide(Exam 1Z0-808)(McGraw-Hill Osborne Media,2015)。XIV 前言本书结构本书分为三部分:第一部分详细介绍 Java 语言规范(JLS)和JEP 所衍生的 Java 编程语言。第二部分介绍了 Java 平台组件和相关话题。第三部分是附录,介绍了相关的支撑技术。本书中的约定本书中使用了如下的排版约定:斜体字(Italic)表示新的术语、URL、Email 地址、文件名以及文件扩展名。等宽字体(Constant width)用于程序清单,以及在段落中对程序中元素的引用,如变量或函数名、数据库、数据类型、环境变量、语句和关键字。加粗的等宽字体(Constant width bold)表示需要用户输入的命令或其他文本。斜体的等宽字体(Constant width italic)表示这些文本需要根据用户提供的值或上下文确定的值进行替换。提示这个元素代表提示、建议或一般说明。警告这个元素代表警告或提醒。前言 XV如何联系我们如果您对本书有意见或问题,请联系出版社:美国:OReilly Medi