1. Scala简介
Scala是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。
Scala运行在Java虚拟机上,并兼容现有的Java程序。
Scala源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。
函数编程范式更适合用于Map/Reduce和大数据模型,它摒弃了数据与状态的计算模型,着眼于函数本身,而非执行的过程的数据和状态的处理。函数范式逻辑清晰、简单,非常适合用于处理基于不变数据的批量处理工作,这些工作基本都是通过map和reduce操作转换数据后,生成新的数据副本,然后再进行处理。
像Spark,Flink,kafka等都是采用Scala开发的,所以学习好大数据,掌握scala是必要的。
官网:http://scala-lang.org/
Scala是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。
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_HOME
-
验证
出现上述效果,即scala安装成功。
3.scala的IDE
3.1普通的学习开发–Notepad++
入门
object HelloWorld {
def main(args:Array[String]): Unit = {
println("HelloWorld~")
}
}
编译执行
E:\work\shenzhen-1902\workspace>scalac HelloWorld.scala
E:\work\shenzhen-1902\workspace>scala HelloWorld
HelloWorld~
现象
.java文件经过javac编译之后只会产生一个.class字节码文件,但是.scala文件经过scalac编译之后会产生两个.class文件。
HelloWorld.class
HelloWorld$.class
通过反编译软件,我们可以看出来,HelloWorld.scala,在执行的时候需要调用哪个.class,需要调用不带$的.class字节码文件,带$的.class是scala编译之后的文件,不带$的.class是jvm和scala文件运行的纽带。
3.2高级开发工具–Idea/Eclipse
创建scala项目
maven项目的创建
指定maven选项卡,不要勾选
集成scala(这样idea才能开发scala)
下载插件
创建class没有scala-class
点击File—>project structure
点击global lib
创建scala-class
编译并执行
scala的依赖
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId