1.Scala简介
Scala是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数编程的各种特性。
Scala运行在Java虚拟机上,并兼容现有的Java程序。
Scala源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。
函数编程范式更适合用于Map/Reduce和大数据模型,它摒弃了数据与状态的计算模型,着眼于函数本身,而非执行的过程的数据和状态的处理。函数范式逻辑清晰、简单,非常适合用于处理基于不变数据的批量处理工作,这些工作基本都是通过map和reduce操作转换数据后,生成新的数据副本,然后再进行处理。
像Spark,Flink,kafka等都是采用Scala开发的,所以学习好大数据,掌握scala是必要的。
官网:http://scala-lang.org/
2.Scala安装与验证
- 下载路径
https://www.scala-lang.org/download/2.11.8.html
-
安装
- 要求
不能安装在带有中文或者空格的目录下面,不然会报错,scala命令找不到。
- 要求
-
jdk必须安装
-
添加环境变量
- 验证
出现上述效果,即scala安装成功。
3.scala的IDE
3.1普通的学习开发–Notepad++
入门案例—Hello World
object HelloWorld {
def main(args:Array[String]): Unit = {
println("Hello World~")
}
}
/*
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World~");
}
}
*/
编译执行
E:\work\1906-bd\2019-10-31-[scala]\代码>scalac HelloWorld.scala
E:\work\1906-bd\2019-10-31-[scala]\代码>scala HelloWorld
Hello World~
现象:
.java文件经过javac编译之后只会产生一个.class字节码文件,但是.scala文件经过scalac编译之后会产生两个.class文件。
HelloWorld.class
HelloWorld$.class
通过反编译软件,我们可以看出来,HelloWorld.scala,在执行的时候需要调用哪个.class,需要调用不带 的 . c l a s s 字 节 码 文 件 , 带 的.class字节码文件,带 的.class字节码文件,带的.class是scala编译之后的文件,不带$的.class是jvm和scala文件运行的纽带。
3.2高级开发工具–Idea/Eclipse
“工欲善其事必先利其器”,要高效的开发scala程序,一款优秀的IDE是必不可少的,目前使用最为广泛的是IDEA,当然Eclipse的覆盖率也很高,全面采用IDEA作为Scala、Spark、Hadoop等开发的利器。
scala版本的Eclipse:
http://scala-ide.org/
IDEA
http://www.jetbrains.com/idea/download/#section=windows
选择版本IdeaIU-2018.1.3b,需要在idea中添加scala插件
scala-intellij-bin-2018.1.3.zip
注意:
将全面采用IDEA+Maven构建项目,所以需要预先在idea中配置好scala的maven环境