Java虚拟机基础教程
- ISBN:9787115477798
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:295
- 出版时间:2018-02-01
- 条形码:9787115477798 ; 978-7-115-47779-8
本书特色
本书概述Java 虚拟机(JVM)及其特性,并用大量示例详细介绍了Java、Scala、Clojure、Kotlin 和Groovy 这5 种基于JVM 的语言。具体而言,首先概述了Java 平台,紧接着详细阐述了JVM,然后分别介绍了上述各种语言的基础知识和核心概念,并运用它们开发项目、创建应用程序。 本书适合所有Java开发人员以及对JVM感兴趣的读者。
内容简介
Java虚拟机(JVM)是开发和部署软件的成熟的现代平台,*初只有Java一门语言运行于其中。随着Java的日益复杂以及JVM性能的增强,出现了新一代可在JVM中运行的编程语言。 本书首先概述JVM及其特性,并介绍很重要的JVM概念。接下来介绍Java、Scala、Clojure、Kotlin和Groovy这五种基于JVM的语言,分别探讨它们的特性和用例,并通过使用它们编写示例项目来展现各自的优缺点,以便帮读者找出能满足特定需求的语言。- 了解JVM基本概念 - 熟悉流行的JVM语言及Java类库 - 掌握命令式、面向对象的和函数式等编程范式 - 使用Eclipse IDE、Gradle、Maven等常见JVM工具 - 探索SparkJava、Vert.x、Akka、JavaFX等框架 - 了解主流编程语言(JavaScript、Python、Ruby和Haskell)的JVM实现
目录
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
作者简介
Vincent van der Leun 全栈工程师,Oracle数据库认证专家。8岁开始编程,熟悉多种语言和平台,维护着JVM Fanboy博客。目前任职于致力于现代电子商务解决方案的CloudSuite公司。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0