scala安装和初识,scala安装初识
scala安装和初识,scala安装初识
1.Java和scala运行时都需要JRE,而在企业级开发中,一般一定都会用Java,所以都是安装JDK来安装JRE
2.因为Java和scala都会被编译成为JVM字节码,所以Java和scala可以相互调用,在实际的企业级开发中,scala进程调用Java实现的JDBC等访问数据库
scala的安装:
第一步:安装Java,设置环境变量,因为其他的软件需要Java支持的时候回查询系统的配置,scala会到系统中查询JRE等信息,所以必须配置环境变量,JAVA_HOME
PATH =%JAVA_HOME%/bin
第二步:安装scala,官网下载,现在做spark开发,用的最多的是scala2.10.4版本,安装之后进行配置,原因是集成开发环境和scala程序的运行需要查询系统中安装的scala。SCALA_HOME
PATH=%SCALA_HOME%/bin
第三步:通过scala -version 查看是否安装成功
第四步:在命令行中输入scala进入scala
命令所代表的是scala的REPL界面,REPL是指:Read->Evaluation->Print->Loop,在spark中提供了REPL界面,叫做spark shell,适合通过shell来和整个spark集群交互和实验。
------------------------------------------------------------------------------------------------------------------------
1.scala函数式编程中要求值不可变,val天然符合这一点
2.在分布式编程中,一般都要求值不可变,这样才能够简化分布式系统的设计和实现 ,同时拥有更高的效率,val声明的内容都不可变,包括spark中的核心抽象RDD也是不可变的。
"spark" + 10
"spark".+(10)
在scala中,一切皆对象,符号也是方法。
scala中的所有类型都是class,不存在类似Java的基本类型。
Array.apply(1,2,3,4,5)和Array(1,2,3,4,5)是一样的
scala的apply方法:是scala对象构造的工厂方法,由于控制scala类对象的生成,实际使用的时候直接用类名并在类名后面传入参数即可直接调用该类的apply方法,通过工厂模式的方式生成该类的对象。
---------------------------------------------------------------------------------------------------------------------------
scala的集成开发环境的安装和使用常用的工具:Eclipse和IDEA,Eclipse是用的最多的,因为企业级开发大多数都使用Eclipse,但是IDEA是最强大和智能的(对于研读源码和调试跟踪特别强大)。
object HelloScala{
def main(args:Array[String]) :Unit= {
println("Hello World!")
}
}
object作为scala中的一个关键字,相当于public static class这样的修饰符,也就是说object的成员都是静态的,所以main方法是静态的,不需要类的实例就可以直接被调用,而这正是JVM平台上程序入口。
object是scala中的静态类,不是对象。
1.def是scala的关键字,所有用def定义的内容都是函数或者方法
2.这里的main是方法,因为被def定义且不具有函数特征
3.main是scala语言中规定的scala应用程序的入口,一个运行的scala应用程序只能有一个main
4.args:Array[String]其中args是参数名称,Array[String]被应用程序运行时传入参数集合
5.Unit表明入口方法的类型是Unit,也就是说执行main方法后,返回的是Unit类型
6.Unit相当于Java中的void类型
7.=,是表明main方法执行的结果是由谁来赋值的,或者说main方法的方法体在“=”的右边
8.方法体一般用{}来封装,里面可以有很多条语句
9.{}语句块默认情况下最后一条语句的结果类型就是{}的返回类型
10.跟踪println源代码,scala的println的IO操作是借助Java的IO操作,也就是说调用了Java
11.如果方法或者函数的类型或返回类型是Unit,则:Unit = 可以去掉
12.scala在做很多底层操作时经常会使用Java的实现来缩短开发时间
13.现在OS的原理,程序的main入口方法都是运行在主线程中的,OS的运行分为Kernel Space和User Space,应用程序是运行在User Space中,应用程序scala所在的进程一般都是透过OS Fork出来,被Fork出来的应用程序线程默认会有主线程,而main方法就是默认在主线程中的,那么耗时的操作(如IO)不能写在main方法中。
相关文章
- 暂无相关文章
用户点评