书籍详情
Java虚拟机基础教程
作者:[荷] 文森特·范德利昂(Vincent van der Leun) 著;袁国忠 译
出版社:人民邮电出版社
出版时间:2018-02-01
ISBN:9787115477798
定价:¥69.00
购买这本书可以去
内容简介
本书概述Java 虚拟机(JVM)及其特性,并用大量示例详细介绍了Java、Scala、Clojure、Kotlin 和Groovy 这5 种基于JVM 的语言。具体而言,首先概述了Java 平台,紧接着详细阐述了JVM,然后分别介绍了上述各种语言的基础知识和核心概念,并运用它们开发项目、创建应用程序。本书适合所有Java开发人员以及对JVM感兴趣的读者。
作者简介
Vincent van der Leun全栈工程师,Oracle数据库认证专家。8岁开始编程,熟悉多种语言和平台,维护着JVM Fanboy博客。目前任职于致力于现代电子商务解决方案的CloudSuite公司。
目录
* 1 章 Java 虚拟机 1
1.1 JVM 实现 1
1.2 为何要在JVM 上开发 2
1.2.1 JVM 适应市场的变化 2
1.2.2 Java 类库 3
1.2.3 生态系统 3
1.3 常见的用途 5
1.3.1 Web 应用程序 5
1.3.2 大数据 5
1.3.3 IoT 6
1.4 JVM 概念 6
1.4.1 虚拟机 6
1.4.2 JIT 编译器 7
1.4.3 基本数据类型 7
1.4.4 类 8
1.4.5 引用类型 8
1.4.6 垃圾收集器 9
1.4.7 向后兼容 11
1.4.8 构建工具 11
1.5 Java 版本 12
1.5.1 Java SE 12
1.5.2 Java EE 13
1.5.3 Java ME 13
1.6 其他JVM 语言 14
1.6.1 为何选择其他语言 14
1.6.2 在同一个项目中使用多种JVM语言 15
1.6.3 使用另一种语言编写单元测试 17
1.7 小结 17
* 2 章 Java 虚拟机开发 18
2.1 JDK 18
2.1.1 安装JDK 19
2.1.2 探索JDK 23
2.1.3 JRE 27
2.2 使用包组织类 28
2.2.1 包是什么 28
2.2.2 选择包名 29
2.2.3 包名举例 30
2.2.4 全限定类名 30
2.3 Java 类库 30
2.3.1 Java 类库的组织结构 31
2.3.2 包概述 31
2.3.3 java.lang 包中的重要类 32
2.3.4 集合API——java.util.ArrayList 和java.util.HashMap 35
2.4 从命令行运行JVM 应用程序 40
2.4.1 * 少有一个类包含静态方法main() 41
2.4.2 存储类文件的目录结构 41
2.4.3 为JVM 实例设置ClassPath 42
2.4.4 将类文件放在JAR 归档文件中 43
2.4.5 使用命令java 运行程序 44
2.4.6 在JVM 中运行的示例项目 46
2.5 Eclipse IDE 49
2.5.1 下载Eclipse IDE 50
2.5.2 安装Eclipse IDE 51
2.6 小结 52
第3 章 Java 53
3.1 Java 中的面向对象编程功能 53
3.1.1 定义类 54
3.1.2 类访问限定符 54
3.1.3 类限定符final——锁定类 54
3.1.4 定义包 55
3.1.5 导入类 55
3.1.6 添加类成员——变量和方法 56
3.1.7 限定符 57
3.1.8 构造函数和终结方法 62
3.1.9 向上转换和向下转换 69
3.2 编写Java 代码 70
3.2.1 运算符 70
3.2.2 条件检查 71
3.2.3 POJO 73
3.2.4 数组 74
3.2.5 泛型和集合 75
3.2.6 循环 77
3.2.7 异常 79
3.2.8 线程 81
3.2.9 lambda 83
3.3 编程风格指南 84
3.4 小测验 85
3.5 小结 86
第4 章 Java 编程 87
4.1 配置Eclipse IDE 87
4.2 使用Java 创建Web 服务 88
4.2.1 在Eclipse IDE 中新建Gradle项目 89
4.2.2 修改Gradle 构建文件 90
4.2.3 构建项目 91
4.2.4 编写后端类 92
4.3 小结 103
第5 章 Scala 104
5.1 安装Scala 104
5.2 Scala 的REPL shell 106
5.3 函数式编程和命令式编程 106
5.4 Scala 语法和规则 108
5.4.1 静态类型语言 108
5.4.2 可修改的变量和不可修改的变量 108
5.4.3 常用的Scala 类型 109
5.5 Scala 的OOP 功能 110
5.5.1 定义包和子包 111
5.5.2 导入成员 112
5.5.3 定义类 112
5.5.4 实例变量和实例方法 113
5.5.5 构造函数 114
5.5.6 扩展类 115
5.5.7 重载方法 116
5.5.8 抽象类 116
5.5.9 特质 117
5.5.10 单例对象 118
5.5.11 运算符重载 118
5.5.12 Case 类 119
5.6 Scala 标准库 120
5.6.1 泛型 120
5.6.2 集合 121
5.6.3 XML 处理 123
5.7 Scala 的函数式编程功能 124
5.7.1 使用函数遍历集合 125
5.7.2 映射 过滤 归约设计模式 125
5.7.3 柯里化 126
5.8 小测验 127
5.9 小结 128
第6 章 Scala 编程 129
6.1 Scala IDE for Eclipse 插件 129
6.1.1 安装Scala IDE for Eclipse 129
6.1.2 切换到Scala IDE 透视图 131
6.2 SBT 131
6.2.1 安装SBT 132
6.2.2 创建基于SBT 的Eclipse IDE项目 132
6.2.3 Scala 编译器(scalac) 135
6.3 创建Akka 项目 136
6.3.1 在SBT 构建文件中添加Akka依赖项 137
6.3.2 更新Scala IDE 项目 138
6.3.3 Akka 概念 138
6.3.4 创建* 一个Akka Actor——QuotesHandlerActor 140
6.3.5 创建消息 142
6.3.6 编写基于ScalaTest 的单元测试 144
6.3.7 实现消息处理程序 146
6.3.8 创建QuotePrinterActor 147
6.3.9 主应用程序 149
6.4 小结 151
第7 章 Clojure 152
7.1 安装Clojure 152
7.2 Clojure 的交互式shell(REPL) 154
7.3 Clojure 语言 155
7.3.1 语法 155
7.3.2 表达式 156
7.3.3 定义变量 157
7.3.4 定义函数 157
7.3.5 数据结构 158
7.4 使用Java 类 167
7.5 使用代理管理状态 169
7.6 风格指南 172
7.7 小测验 173
7.8 小结 174
第8 章 Clojure 编程 175
8.1 Eclipse IDE 插件Counterclockwise 175
8.1.1 安装插件Counterclockwise 176
8.1.2 切换到Java 透视图 177
8.2 构建工具Leiningen 177
8.3 创建可执行的Clojure 程序 179
8.3.1 在不使用Leiningen 的情况下将代码编译成类文件 179
8.3.2 使用Leiningen 编译项目 180
8.4 新建Counterclockwise 项目 181
8.4.1 Eclipse IDE 中的Clojure REPL 183
8.4.2 更新项目的Clojure 版本 183
8.4.3 添加依赖 184
8.5 以测试驱动开发的方式探索monad 185
8.6 Web 框架Luminus 189
8.6.1 创建Luminus 项目 190
8.6.2 将项目导入Counterclockwise 191
8.6.3 探索Luminus 项目 191
8.6.4 在Web 应用程序中添加页面 192
8.7 小结 194
第9 章 Kotlin 196
9.1 安装Kotlin 196
9.2 Kotlin 的REPL 交互式shell 198
9.3 Kotlin 语言基础 200
9.3.1 定义局部变量 200
9.3.2 定义函数 201
9.3.3 Kotlin 类型 202
9.3.4 循环 207
9.4 Kotlin 的OOP 功能 208
9.4.1 定义包 208
9.4.2 导入成员 208
9.4.3 定义类和构造函数 209
9.4.4 给类添加成员 210
9.4.5 继承 212
9.4.6 接口 213
9.4.7 可见性限定符 214
9.4.8 单例对象和伴生对象 214
9.4.9 数据类 216
9.4.10 lambda 和内联函数 217
9.5 Kotlin 过程性编程 218
9.6 风格指南 219
9.7 小测验 220
9.8 小结 220
* 10 章 Kotlin 编程 222
10.1 Eclipse IDE Kotlin 插件 222
10.1.1 安装Eclipse IDE Kotlin插件 222
10.1.2 切换到Kotlin 透视图 223
10.2 Apache Maven 224
10.2.1 安装Apache Maven 224
10.2.2 下载预制的Kotlin 基本套件 225
10.2.3 在Eclipse IDE 中导入项目 226
10.2.4 探索构建文件pom.xml 227
10.2.5 在Eclipse 中更新构建文件 228
10.3 创建JavaFX 桌面GUI 应用程序 229
10.3.1 定制项目 230
10.3.2 创建可运行的应用程序 230
10.3.3 编写扩展函数 233
10.3.4 布局窗格 235
10.3.5 实现基于BorderPane 的布局 236
10.3.6 实现动画 238
10.3.7 调试程序 241
10.4 小结 243
* 11 章 Groovy 244
11.1 安装Groovy 244
11.2 Groovy 语言 247
11.3 Groovy 开发包(GDK) 255
11.3.1 Groovy 字符串(GString) 256
11.3.2 集合 257
11.4 动态和静态编程 260
11.4.1 元编程 261
11.4.2 Groovy 静态编程 262
11.5 小测验 264
11.6 小结 265
* 12 章 Groovy 编程 266
12.1 安装Groovy Eclipse 插件 266
12.2 Apache Ivy 和IvyDE 268
12.3 创建并配置项目 269
12.3.1 新建Groovy Eclipse 项目 269
12.3.2 创建供Ivy 使用的ivy.xml文件 270
12.4 Java Database Connectivity(JDBC) 272
12.4.1 H2 数据库 274
12.4.2 创建内存数据库 274
12.5 使用MarkupBuilder 生成XML 278
12.6 微服务平台Vert.x 281
12.6.1 在文件ivy.xml 中添加Vert.x 依赖 282
12.6.2 创建Web 服务 283
12.7 小结 286
附录A 其他JVM 语言 287
附录B 小测验答案 296
1.1 JVM 实现 1
1.2 为何要在JVM 上开发 2
1.2.1 JVM 适应市场的变化 2
1.2.2 Java 类库 3
1.2.3 生态系统 3
1.3 常见的用途 5
1.3.1 Web 应用程序 5
1.3.2 大数据 5
1.3.3 IoT 6
1.4 JVM 概念 6
1.4.1 虚拟机 6
1.4.2 JIT 编译器 7
1.4.3 基本数据类型 7
1.4.4 类 8
1.4.5 引用类型 8
1.4.6 垃圾收集器 9
1.4.7 向后兼容 11
1.4.8 构建工具 11
1.5 Java 版本 12
1.5.1 Java SE 12
1.5.2 Java EE 13
1.5.3 Java ME 13
1.6 其他JVM 语言 14
1.6.1 为何选择其他语言 14
1.6.2 在同一个项目中使用多种JVM语言 15
1.6.3 使用另一种语言编写单元测试 17
1.7 小结 17
* 2 章 Java 虚拟机开发 18
2.1 JDK 18
2.1.1 安装JDK 19
2.1.2 探索JDK 23
2.1.3 JRE 27
2.2 使用包组织类 28
2.2.1 包是什么 28
2.2.2 选择包名 29
2.2.3 包名举例 30
2.2.4 全限定类名 30
2.3 Java 类库 30
2.3.1 Java 类库的组织结构 31
2.3.2 包概述 31
2.3.3 java.lang 包中的重要类 32
2.3.4 集合API——java.util.ArrayList 和java.util.HashMap 35
2.4 从命令行运行JVM 应用程序 40
2.4.1 * 少有一个类包含静态方法main() 41
2.4.2 存储类文件的目录结构 41
2.4.3 为JVM 实例设置ClassPath 42
2.4.4 将类文件放在JAR 归档文件中 43
2.4.5 使用命令java 运行程序 44
2.4.6 在JVM 中运行的示例项目 46
2.5 Eclipse IDE 49
2.5.1 下载Eclipse IDE 50
2.5.2 安装Eclipse IDE 51
2.6 小结 52
第3 章 Java 53
3.1 Java 中的面向对象编程功能 53
3.1.1 定义类 54
3.1.2 类访问限定符 54
3.1.3 类限定符final——锁定类 54
3.1.4 定义包 55
3.1.5 导入类 55
3.1.6 添加类成员——变量和方法 56
3.1.7 限定符 57
3.1.8 构造函数和终结方法 62
3.1.9 向上转换和向下转换 69
3.2 编写Java 代码 70
3.2.1 运算符 70
3.2.2 条件检查 71
3.2.3 POJO 73
3.2.4 数组 74
3.2.5 泛型和集合 75
3.2.6 循环 77
3.2.7 异常 79
3.2.8 线程 81
3.2.9 lambda 83
3.3 编程风格指南 84
3.4 小测验 85
3.5 小结 86
第4 章 Java 编程 87
4.1 配置Eclipse IDE 87
4.2 使用Java 创建Web 服务 88
4.2.1 在Eclipse IDE 中新建Gradle项目 89
4.2.2 修改Gradle 构建文件 90
4.2.3 构建项目 91
4.2.4 编写后端类 92
4.3 小结 103
第5 章 Scala 104
5.1 安装Scala 104
5.2 Scala 的REPL shell 106
5.3 函数式编程和命令式编程 106
5.4 Scala 语法和规则 108
5.4.1 静态类型语言 108
5.4.2 可修改的变量和不可修改的变量 108
5.4.3 常用的Scala 类型 109
5.5 Scala 的OOP 功能 110
5.5.1 定义包和子包 111
5.5.2 导入成员 112
5.5.3 定义类 112
5.5.4 实例变量和实例方法 113
5.5.5 构造函数 114
5.5.6 扩展类 115
5.5.7 重载方法 116
5.5.8 抽象类 116
5.5.9 特质 117
5.5.10 单例对象 118
5.5.11 运算符重载 118
5.5.12 Case 类 119
5.6 Scala 标准库 120
5.6.1 泛型 120
5.6.2 集合 121
5.6.3 XML 处理 123
5.7 Scala 的函数式编程功能 124
5.7.1 使用函数遍历集合 125
5.7.2 映射 过滤 归约设计模式 125
5.7.3 柯里化 126
5.8 小测验 127
5.9 小结 128
第6 章 Scala 编程 129
6.1 Scala IDE for Eclipse 插件 129
6.1.1 安装Scala IDE for Eclipse 129
6.1.2 切换到Scala IDE 透视图 131
6.2 SBT 131
6.2.1 安装SBT 132
6.2.2 创建基于SBT 的Eclipse IDE项目 132
6.2.3 Scala 编译器(scalac) 135
6.3 创建Akka 项目 136
6.3.1 在SBT 构建文件中添加Akka依赖项 137
6.3.2 更新Scala IDE 项目 138
6.3.3 Akka 概念 138
6.3.4 创建* 一个Akka Actor——QuotesHandlerActor 140
6.3.5 创建消息 142
6.3.6 编写基于ScalaTest 的单元测试 144
6.3.7 实现消息处理程序 146
6.3.8 创建QuotePrinterActor 147
6.3.9 主应用程序 149
6.4 小结 151
第7 章 Clojure 152
7.1 安装Clojure 152
7.2 Clojure 的交互式shell(REPL) 154
7.3 Clojure 语言 155
7.3.1 语法 155
7.3.2 表达式 156
7.3.3 定义变量 157
7.3.4 定义函数 157
7.3.5 数据结构 158
7.4 使用Java 类 167
7.5 使用代理管理状态 169
7.6 风格指南 172
7.7 小测验 173
7.8 小结 174
第8 章 Clojure 编程 175
8.1 Eclipse IDE 插件Counterclockwise 175
8.1.1 安装插件Counterclockwise 176
8.1.2 切换到Java 透视图 177
8.2 构建工具Leiningen 177
8.3 创建可执行的Clojure 程序 179
8.3.1 在不使用Leiningen 的情况下将代码编译成类文件 179
8.3.2 使用Leiningen 编译项目 180
8.4 新建Counterclockwise 项目 181
8.4.1 Eclipse IDE 中的Clojure REPL 183
8.4.2 更新项目的Clojure 版本 183
8.4.3 添加依赖 184
8.5 以测试驱动开发的方式探索monad 185
8.6 Web 框架Luminus 189
8.6.1 创建Luminus 项目 190
8.6.2 将项目导入Counterclockwise 191
8.6.3 探索Luminus 项目 191
8.6.4 在Web 应用程序中添加页面 192
8.7 小结 194
第9 章 Kotlin 196
9.1 安装Kotlin 196
9.2 Kotlin 的REPL 交互式shell 198
9.3 Kotlin 语言基础 200
9.3.1 定义局部变量 200
9.3.2 定义函数 201
9.3.3 Kotlin 类型 202
9.3.4 循环 207
9.4 Kotlin 的OOP 功能 208
9.4.1 定义包 208
9.4.2 导入成员 208
9.4.3 定义类和构造函数 209
9.4.4 给类添加成员 210
9.4.5 继承 212
9.4.6 接口 213
9.4.7 可见性限定符 214
9.4.8 单例对象和伴生对象 214
9.4.9 数据类 216
9.4.10 lambda 和内联函数 217
9.5 Kotlin 过程性编程 218
9.6 风格指南 219
9.7 小测验 220
9.8 小结 220
* 10 章 Kotlin 编程 222
10.1 Eclipse IDE Kotlin 插件 222
10.1.1 安装Eclipse IDE Kotlin插件 222
10.1.2 切换到Kotlin 透视图 223
10.2 Apache Maven 224
10.2.1 安装Apache Maven 224
10.2.2 下载预制的Kotlin 基本套件 225
10.2.3 在Eclipse IDE 中导入项目 226
10.2.4 探索构建文件pom.xml 227
10.2.5 在Eclipse 中更新构建文件 228
10.3 创建JavaFX 桌面GUI 应用程序 229
10.3.1 定制项目 230
10.3.2 创建可运行的应用程序 230
10.3.3 编写扩展函数 233
10.3.4 布局窗格 235
10.3.5 实现基于BorderPane 的布局 236
10.3.6 实现动画 238
10.3.7 调试程序 241
10.4 小结 243
* 11 章 Groovy 244
11.1 安装Groovy 244
11.2 Groovy 语言 247
11.3 Groovy 开发包(GDK) 255
11.3.1 Groovy 字符串(GString) 256
11.3.2 集合 257
11.4 动态和静态编程 260
11.4.1 元编程 261
11.4.2 Groovy 静态编程 262
11.5 小测验 264
11.6 小结 265
* 12 章 Groovy 编程 266
12.1 安装Groovy Eclipse 插件 266
12.2 Apache Ivy 和IvyDE 268
12.3 创建并配置项目 269
12.3.1 新建Groovy Eclipse 项目 269
12.3.2 创建供Ivy 使用的ivy.xml文件 270
12.4 Java Database Connectivity(JDBC) 272
12.4.1 H2 数据库 274
12.4.2 创建内存数据库 274
12.5 使用MarkupBuilder 生成XML 278
12.6 微服务平台Vert.x 281
12.6.1 在文件ivy.xml 中添加Vert.x 依赖 282
12.6.2 创建Web 服务 283
12.7 小结 286
附录A 其他JVM 语言 287
附录B 小测验答案 296
猜您喜欢