格式调整

This commit is contained in:
罗祥 2019-04-24 09:27:58 +08:00
parent 41bd9791f8
commit 92aa9f5d9d
3 changed files with 35 additions and 19 deletions

View File

@ -187,6 +187,6 @@ HDFS的设计便于从一个平台移植到另一个平台。这有助于HDFS作
## 参考资料
1. [Apache Hadoop 2.9.2 > HDFS Architecture](http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html)
2. Tom White. hadoop权威指南 [M]. 清华大学出版社, 2017.
2. Tom White . hadoop权威指南 [M] . 清华大学出版社 . 2017.
3. [翻译经典 HDFS 原理讲解漫画](https://blog.csdn.net/hudiefenmu/article/details/37655491)

View File

@ -1,18 +1,24 @@
# Scala简介及开发环境配置
<nav>
<a href="#一Scala简介">一、Scala简介</a><br/>
<a href="#二配置IDEA开发环境">二、配置IDEA开发环境</a><br/>
</nav>
## 一、Scala简介
### 1.1 概念
Scala全称为scalable language即“可伸缩的语言”之所以这样命名是因为它的设计目标是随着用户的需求一起成长。从技术上讲Scala是一门综合了面向对象和函数式编程概念的静态类型的编程语言它运行在标准的Java平台上可以与所有的Java类库无缝协作。
Scala全称为scalable language即“可伸缩的语言”之所以这样命名是因为它的设计目标是随着用户的需求一起成长。从技术上讲Scala是一门综合了**面向对象****函数式编程概念****静态类型**的编程语言它运行在标准的Java平台上可以与所有的Java类库无缝协作。
### 1.2 特点
#### 1. Scala是面向对象的
#### 1. Scala是面向对象的
Scala是一种面向对象的语言每个值都是对象每个方法都是调用。举例来说如果你执行1+2则对于Scala而言实际是在调用Int类里定义的名为+的方法。
Scala是一种面向对象的语言每个值都是对象每个方法都是调用。举例来说如果你执行`1+2`则对于Scala而言实际是在调用Int类里定义的名为`+`的方法。
#### 2. Scala是函数式的
@ -23,11 +29,11 @@ Scala不只是一门纯的面对对象的语言它也是功能完整的函数
### 3. Scala的优点
### 1.3 Scala的优点
#### 1. 与Java的兼容
Scala可以与Java无缝对接其在执行时会被编译成JVM字节码这使得其性能与Java相当。Scala可以直接调用Java中的方法、访问Java中的字段、继承Java类、实现Java接口并且Scala也重度复用并包装了原生的Java类型支持隐式转换。
Scala可以与Java无缝对接其在执行时会被编译成JVM字节码这使得其性能与Java相当。Scala可以直接调用Java中的方法、访问Java中的字段、继承Java类、实现Java接口。Scala重度复用并包装了原生的Java类型支持隐式转换。
#### 2. 精简的语法
@ -35,11 +41,11 @@ Scala的程序通常比较简洁相比Java而言代码行数会大大减
#### 3. 高级语言的特性
Scala具有高级语言的特定对代码进行了高级别的抽象能够让你更好的控制复杂度,保证开发的效率。
Scala具有高级语言的特定对代码进行了高级别的抽象能够让你更好地控制程序的复杂度,保证开发的效率。
#### 4. 静态类型
Scala拥有非常先进的静态类型系统Scala不仅拥有与Java类似的允许嵌套类(内部类)的类型系统还允许使用泛型对类型进行参数化用交集intersection来组合类型以及使用抽象类型来进行隐藏类型的细节。通过这些特,我们可以更快地设计出安全易用的程序和接口。
Scala拥有非常先进的静态类型系统Scala不仅拥有与Java类似的允许嵌套类的类型系统还允许使用泛型对类型进行参数化用交集intersection来组合类型以及使用抽象类型来进行隐藏类型的细节。通过这些特,我们可以更快地设计出安全易用的程序和接口。
@ -55,7 +61,7 @@ Scala拥有非常先进的静态类型系统Scala不仅拥有与Java类似的
首先需要安装Scala插件使得IDEA支持scala语言的开发。打开 IDEA依次点击**File** => **settings**=> **plugins**选项卡搜索Scala插件(如下图)。找到插件后进行安装并重启IDEA使得安装生效。
![idea-scala-plugin](D:\BigData-Notes\pictures\idea-scala-plugin.png)
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/idea-scala-plugin.png"/> </div>
@ -63,7 +69,7 @@ Scala拥有非常先进的静态类型系统Scala不仅拥有与Java类似的
在IDEA中依次点击 **File** => **New** => **Project**选项卡然后选择创建Scala—IDEA工程
![idea-newproject-scala](D:\BigData-Notes\pictures\idea-newproject-scala.png)
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/idea-newproject-scala.png"/> </div>
@ -71,9 +77,9 @@ Scala拥有非常先进的静态类型系统Scala不仅拥有与Java类似的
#### 1.方式一(不推荐)
此时看到Scala SDK为空依次点击`Create => Download` ,选择所需的版本后,点击`OK`按钮进行下载,下载完成点击`Finish`进入工程。
此时看到Scala SDK为空依次点击`Create` => `Download` ,选择所需的版本后,点击`OK`按钮进行下载,下载完成点击`Finish`进入工程。
![idea-scala-select](D:\BigData-Notes\pictures\idea-scala-select.png)
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/idea-scala-select.png"/> </div>
@ -85,21 +91,21 @@ Scala拥有非常先进的静态类型系统Scala不仅拥有与Java类似的
这里我的系统是Windows下载msi版本的安装包后一直点击下一步安装即可安装完成后会自动配置好环境变量。
![idea-scala-select](D:\BigData-Notes\pictures\scala-other-resources.png)
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/scala-other-resources.png"/> </div>
由于安装时已经自动配置好环境变量所以IDEA会自动选择对应版本的SDK。
![idea-scala-select](D:\BigData-Notes\pictures\idea-scala-2.1.8.png)
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/idea-scala-2.1.8.png"/> </div>
### 2.5 创建Hello World
在工程 `src`目录上右击**New** => **Scala class**.创建`Hello.scala`。输入代码如下,完成后点击运行按钮,成功运行则代表开发环境搭建成功。
在工程 `src`目录上右击**New** => **Scala class**.创建`Hello.scala`。输入代码如下,完成后点击运行按钮,成功运行则代表搭建成功。
![scala-hello-world](D:\BigData-Notes\pictures\scala-hello-world.png)
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/scala-hello-world.png"/> </div>
@ -107,14 +113,24 @@ Scala拥有非常先进的静态类型系统Scala不仅拥有与Java类似的
### 2.6 切换Scala版本
如果在日常的开发中由于对应软件如spark的版本切换导致需要切换Scala的版本则可以在`Project Structures`中的`Global Libraries`选项卡中进行配置
在日常的开发中由于对应软件如spark的版本切换可能导致需要切换Scala的版本则可以在`Project Structures`中的`Global Libraries`选项卡中进行切换
![scala-hello-world](D:\BigData-Notes\pictures\idea-scala-change.png)
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/idea-scala-change.png"/> </div>
### 2.7 使用scala命令行
采用msi方式安装程序会自动配置好环境变量。此时直接可以使用命令行工具
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/scala-shell.png"/> </div>
## 参考资料
1. Scala编程第三版
1. Martin Odersky(著),高宇翔(译) . Scala编程(第3版)[M] . 电子工业出版社 . 2018-1-1
2. https://www.scala-lang.org/download/

BIN
pictures/scala-shell.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB