编辑推荐
适读人群:实践开发者,程序员
在开发和调试Java程序时,《Java9口袋指南》能够为你解答Java编程语言及其平台的困惑。在《Java 9 口袋指南(第4版)》中,你将会发现非常有用且简洁的样例、表格、图以及列表——包括Java9的特性,如模块化源码和新的JShell交互式命令行REPL。《Java 9 口袋指南(第4版)》非常便于携带,不管你是在办公室、实验室,还是在路上,都可以随时翻阅。
《Java 9 口袋指南(第4版)》中同时提供用于准备Oracle认证Java程序员考试的资料。
■快速查阅Java语言的细节,比如命名约定、类型、语句和代码块、面向对象编程
■获取JavaSE平台的细节,包括开发基础、内存管理、并发以及泛型
■使用Java9的新特性,包括模块化源码和JShell
■掌握基础的输入/输出、NIO2.0、Java集合框架和JavaScriptingAPI
■获取FluentAPI、第三方工具以及统一建模语言(UML)的补充知识
内容简介
《Java 9 口袋指南(第4版)》以通俗易懂的语言介绍了Java语言的语法、类型、并发编程等基础知识,同时还以样例的形式讲解了Lambda表达式、Java模块系统、JShell这些Java8和Java9新引入的特性。《Java 9 口袋指南(第4版)》不仅能够满足初学者了解、掌握Java语言的需要,还能帮助资深的工程师快速熟悉和把握Java新技术的发展趋势。《Java 9 口袋指南(第4版)》内容简洁、样例丰富,可以作为Java开发人员案头常备的参考书籍。
作者简介
RobertLiguori是资深的软件开发者,在航空工业领域提供支持。Robert在新泽西理查得斯道克顿大学取得计算机科学与信息技术学士学位,同时也是Oracle认证的Java专家,撰写过多部Java编程语言与NetBeansIDE方面的认证图书,其中包括JavaPocketGuide系列。
张卫滨,资深Java工程师,具有十年以上面向对象编程语言开发经验,现居大连。作为一位笔耕不辍的技术书籍译者,陆续翻译大量Java技术方向的重要书籍,包括《spring实战》《大规模Java平台虚拟化与调优》《Java应用架构设计:模块化模式与OSGi》《精通SpringMVC4》等。
目录
前言XIII
第1部分语言
第1章命名约定3
缩略词3
注解名3
类名4
常量名4
枚举名称4
泛型类型参数名4
实例与静态变量名5
接口名5
方法名5
包名5
模块名6
参数和本地变量名6
第2章词法元素9
Unicode与ASCII9
压缩字符串11
注释11
关键字12
识别符13
分隔符14
操作符15
字面量16
转义序列19
Unicode货币符号20
第3章基本类型23
原始类型23
原始类型的字面量24
浮点实体26
原始类型的数值提升28
包装类29
自动装箱和拆箱30
第4章引用类型33
引用类型与原始类型的对比34
默认值34
引用对象的转换36
原始类型与引用类型的转换37
传递引用类型到方法中37
引用类型的对比38
拷贝引用类型40
引用类型的内存分配与垃圾回收42
第5章面向对象编程43
类和对象43
可变长度的参数列表49
抽象类与抽象方法50
静态数据成员、静态方法、静态常量以及静态初始化器51
接口52
枚举53
注解类型54
函数式接口56
第6章语句和代码块57
表达式语句57
空语句58
代码块58
条件语句58
迭代语句60
控制转移62
synchronized语句63
断言语句63
异常处理语句64
第7章异常处理65
异常层级结构65
检查型/非检查型异常和错误66
常见的检查型/非检查型异常和错误67
异常处理的关键字69
异常处理的过程74
定义自己的异常类74
打印异常信息75
第8章Java修饰符77
访问修饰符78
其他(非访问)修饰符79
修饰符的编码80
第2部分平台
第9章Java平台,标准版83
常用的JavaSEAPI库83
第10章开发的基础工具97
Java运行时环境97
Java开发工具集97
Java程序结构99
命令行工具100
类路径105
第11章内存管理107
垃圾收集器107
内存管理工具109
命令行参数110
调整Java堆的大小113
元空间113
与GC进行交互113
第12章基本输入和输出115
标准的流in、out和err115
标准输入和输出类的层级结构116
文件读取和写入117
Socket读取和写入118
序列化120
压缩和解压文件121
第13章新I/OAPI(NIO2)123
Path接口123
Files类124
其他特性125
第14章并发127
创建线程127
线程状态128
线程优先级129
常用方法129
同步130
并发工具集132
第15章Java集合框架135
Collection接口135
实现136
集合框架方法136
集合类的算法137
算法的效率138
Comparator函数式接口139
便利的工厂方法142
第16章泛型框架143
泛型类与接口143
具有泛型的构造器144
替换原则145
类型参数、通配符与边界145
Get和Put原则146
泛型具体化147
非泛型类型中的泛型方法148
第17章Java脚本API149
脚本语言149
脚本引擎实现149
搭建脚本语言和引擎环境151
第18章日期和时间API155
与遗留系统的互操作156
区域性日历156
ISO日历156
第19章Lambda表达式163
λE基础163
特定用途的函数式接口166
通用的函数式接口167
关于λE的资源168
第20章JShell:JavaShell171
起步171
片段172
使用JShell173
JShell的特性180
JShell命令小结184
第21章Java模块系统187
Jigsaw项目187
Java模块188
编译模块190
模块化JDK191
jdeps194
定义模块196
导出包196
声明依赖197
传递性依赖197
定义服务提供者198
jlink200
第3部分附录
附录AFluentAPI203
附录B第三方工具205
附录CUML基础215
索引225
前言/序言
译者序
在程序员群体中,有两个未解之谜:那就是最好的编程语言和最好的编辑器到底是什么。关于语言的争论在程序员群体中是司空见惯的现象,至于哪个是世界上最好的编程语言也是见仁见智的,但不可否认的是Java在企业级和互联网开发中依然占据着重要的地位。除了“跨平台”这一特性早年带来的红利外,Java能够20多年长盛不衰的原因在于它是一门不断演进和优化的语言。
尽管被其他语言的拥趸诟病演化缓慢,但Java确实在不断地革新,吸收和借鉴其他语言优秀的特征,比如Lambda表达式、函数式编程、泛型等。通过语言层面的改善,开发人员可以编写更加现代和更加简洁的代码,同时能够享受到软硬件架构体系演化所带来的收益。Java另一个巨大的优势在于活跃的开源社区,像Spring、Hibernate、Apache等开源项目和组织,简化了大规模企业级Java应用的开发,抽离了技术底层的关注点,能够让我们专注于业务开发。因此,不管是J2EE、SOA,还是近两年火热的微服务架构,都离不开Java语言的身影。
既然Java语言如此受欢迎,那么关于Java语言的技术图书用浩如烟海来形容就丝毫不过分了。在这方面既有专注于语言用法的经典图书,也有深入底层JVM原理的佳作,那么这本《Java口袋指南》的特殊之处在哪里呢?
这不是一本深入讲解Java语法细节的图书,也不是分析JVM实现原理的书,该书以Java的基本用法作为切入点,在介绍Java已有功能的基础上,重点讲解了Java8和Java9中的一些新特性,比如Lambda表达式、JShell、模块系统,能够让读者快速理解和掌握最新的技术。《Java 9 口袋指南(第4版)》行文简洁,同时附带大量样例,能够让读者在示例中理解相关特性的原理和用法。
所谓“九层之台,起于累土”,我们只有掌握了Java的基本功能,夯实了知识基础,再去学习各种日新月异的开发框架,应对层出不穷的架构理念,才会得心应手。《Java 9 口袋指南(第4版)》的英文版已经畅销多年,作者会根据Java语言的发展不断对内容进行更新和补充,希望中文版的发行能够帮助到更多的中国程序员朋友。
尽管在翻译的过程中,我力争达到准确和通畅,但限于水平和时间,肯定还有许多的不足或纰漏之处,热忱期待您提出意见,希望《Java 9 口袋指南(第4版)》能够对您有用,您可以通过levinzhang1981@126.com联系到我,祝阅读愉快。
前言
《Java9口袋指南》一书的目标是成为读者的手边书,《Java 9 口袋指南(第4版)》提供了Java语言和平台标准特性的快速指南。
《Java9口袋指南》提供了开发或调试Java程序所需的知识,包括了有用的编程样例、表格、图和列表。
《Java 9 口袋指南(第4版)》中所介绍的Java是基于JavaSE9讲解的,包括了80个以上的JDK增强计划(JDKEnhancementProposal,JEP)的子集。
《Java 9 口袋指南(第4版)》中介绍的Java包含了对语言的通用修改以及新的JavaShell和Java模块系统。《Java 9 口袋指南(第4版)》将会取代之前的JavaPocketGuide、Java7PocketGuide和Java8PocketGuide。
处于一致性和读者兴趣的考虑,第4版《Java9口袋指南》的主要代码对GliesiansWeb应用(http://gliesians.com/index-genealogy.faces)的代码片段进行了更新。在编写《Java 9 口袋指南(第4版)》的时候,GliesiansWeb应用的主要关注点在于提供免费的工具类,用于系谱学和小型无人机系统。
《Java 9 口袋指南(第4版)》中还提供了准备Oracle认证程序员考试的资料。如果你考虑获取这样的Java证书,还可以购买EdwardFinegan和RobertLiguori合著的OCAJavaSE8ProgrammerIStudyGuide(Exam1Z0-808)(McGraw-HillOsborneMedia,2015)。
《Java 9 口袋指南(第4版)》结构
《Java 9 口袋指南(第4版)》分为三部分:第一部分详细介绍Java语言规范(JLS)和JEP所衍生的Java编程语言。第二部分介绍了Java平台组件和相关话题。第三部分是附录,介绍了相关的支撑技术。