scala语言介绍以及简单的代码讲解
scala介绍
(帮助理解学习scala,掌握了可以直接跳到代码)
1、为什么学习scala
首先我们学习大数据都会知道在整个集群中有两个运算框架,一个是mapreduce,运行很慢而且没有办法实时运算,另一个就是spark框架,它是新一代的内存级的实时运算框架,而spark的底层实现就是用scala编写的,所以我们学习scala就是为了更好的使用,理解spark,当然scala也是支持kafka数据库的,但是主要还是为了spark。
2、scala是什么
scala是Scalable Langue的简写,它是一种多范式的编程语言,创始人是马丁.奥斯基德。
3、scala和java以及jvm的关系
我们首先看一看大体的java的大体流程
这里我们要知道java可以运行的必须的两个点:
- 1.编译器javac支持java语言
- 2.开发者为我们使用的人提供了大量的类库,也就是我们平时了解的JDK
然后我们想一下scala是如何与jvm产生关联的呢?
这里我们就不得不提到scala的创始人马丁,他喜欢研究编译器,但是单纯的java他感觉有些麻烦或者还可以优化的地方,可jvm的跨平台模式他又很欣赏,所以在基于java的基础上诞生了scala语言,而scala和java的区别如下:
- 1.scala可以使用java的部分语法,因为它基于java
System.out.println("hello world") //支持
Map<String,String> map=new Hashmap() //不支持
- 2.scala除了java的部分语法,还有自己独特的语法
val tuple(1,20,"hello")//元组,后面的博客会详细介绍
-
3.scala特有的增强——加入了函数式编程(支持偏函数,支持函数作为参数传递,支持高阶函数…)
-
4.对java的类进行了包装,只改变了形式,底层还是java的格式。
从这些特点我们可以对着java的必须条件推断一下scala的必须条件:
- 支持scala的编译器
- scala的类库SDK
- 对java进行包装的类库
这些条件也是为什么我们安装scala必须配置JDK的原因,因为他有些类是包装了java的类,所以需要JDK,下面我给大家画一下scala的大体流程:
4、scala的特点
1.多范式语言:即支持面向对象编程也支持函数编程。
2.scala会被编译为.class文件并调用java的库
3.简洁高效,可以没有分号,也简化了很多代码
4.参考了java的编程思想
总结:scala是一门以JVM为运行环境并将面向对象和函数编程最佳结合的静态语言
(动态包括python、php等等,可根据值判断类型,而静态语言就是必须指定类型在赋值,而scala更像是感觉是动态的静态语言,因为scala的很多地方都有类似python的特点。)
5、Windows scala配置
1.下载地址:
https://www.scala-lang.org/download/
打开网页之后一直向下拖到最后
选安合适版本下载。
2.下载完成后解压该文件进行环境变量配置
我的电脑—属性
选择高级系统设置
单击
新建一个系统变量SCALA_HOME
变量值填入你解压的文件路径
找到系统变量的PATH,进行scala环境的追加,输入如下
%SCALA_HOME%\bin
进入系统自带的命令提示符CMD进行测试,输入scala显示
若果还显示如下错误
是因为我们没有创建一个堆内存,所以导致的空指针异常,不过我在IDEA中运行依旧,暂时没什么问题,如果有会解决的请留言教给我,谢谢~
6.Idea配置
1.打开idea找到file-setting-plugis
2.我安装完了所以会显示,没安装过的点击右边的Maketplace搜索scala下载就可以,不过这样很慢,我的下载地址是:
https://plugins.jetbrains.com/files/1347/64968/scala-intellij-bin-2019.1.9.zip?updateId=64968&pluginId=1347&family=INTELLIJ&uuid=d58ee5b5-a57a-4a41-9590-689d23d0996c&code=IC&build=191.7479.19
大家注意版本,一样的点这个链接就可以,我的scala是2.13.0,不一样的大家用IDEAA下载的时候可以找一找它的链接,复制打开到浏览器里就可以直接下载。
然后点击
选择
然后找到你下载的压缩包,不用解压直接导入,然后点击Apply点击OK就可以了
3.然后我们新建一个maven项目
单击下一步,起名
单击下一步
单击finsh
4.然后右键项目新建一个Module选择scala,第一次也是很慢,可以参考上面的办法,自己在浏览器下载。
然后我们就可以在Module里新建scala项目了。
——————————结束——————————