• Scala学习记录1--简介与环境配置


    1.1 Scala简介

    • Scala是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。
    • Scala运行在Java虚拟机上,并兼容现有的Java程序。
    • Scala源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。
    • 函数编程范式更适合用于Map/Reduce和大数据模型,着眼于函数本身,函数范式逻辑清晰、简单,非常适合用于处理基于不变数据的批量处理工作。
    • 像Spark,kafka等都是采用Scala开发的,所以学习好大数据,掌握scala是必要的。Flink是带有scala的api支持。

    1.2 Scala安装部署

    1. Scala需要Java运行时库,安装Scala需要首先安装JVM虚拟机。

    2. 进入Scala的官网https://www.scala-lang.org/ 下载页面,点击 All Previous Releases

    3. 选择 Scala 2.12.8 (后面的3.xx都是基于2.12)

    4. 根据操作系统选择安装包

    1.2.1 Windows下的环境配置

     1)首先下载scala-2.12.8.zip文件解压到任意盘符

     2)新建“SCALA_HOME”系统变量,变量值为.../scala,并将“%SCALA_HOME%\bin”追加到"%Path%"中。 

     1.2.2 Linux下的环境配置

    #下载 scala-2.12.8.tgz
    #通过命令tar -xvf scala-2.12.8.tar -C 解压到路径

    #例如:
    tar -xvf scala-2.12.8.tgz -C /usr/java

    #在配置系统环境变量,将Scala
    vi /etc/profile
    #添加如下参数
    export JAVA_HOME=Java安装目录
    export PATH=$PATH:$JAVA_HOME/bin:/scala解压目录/bin
    #例如:
    export JAVA_HOME=/usr/java/jdk1.8.0_251
    export PATH=$PATH:$JAVA_HOME/bin:/usr/local/scala-2.12.8/bin
    #保存退出后重新加载
    source /etc/profile

    1.3 Scala解释器

    • Scala解释器也被称为REPL交互式编码环境,会快速编译scala代码为字节码,然后交给JVM来执行。
    • 在Windows下使用cmd命令进入DOS中,然后输入“scala”进入到REPL。

    • 自动补全:在scala>命令行内,可以使用Tab键进行自动补全

    1.4 IDEA集成Scala开发环境配置

    • 目前Scala的开发工具主要有两种:Eclipse和IDEA,这两个开发工具都有相应的Scala插件,由于IDEA的Scala插件更优秀,大多数Scala程序员都选择IDEA。

    • 配置步骤如下

    1)在IDEA中安装Scala插件

    打开IDEA--->左上角File--->settings--->plugins--->出现下图:

    安装时需要网络,安装完成后需要restart IDEA即可。

    2)IDEA集成Scala的SDK

     添加scala的SDK依赖,只有添加完了scala的SDK依赖,我们才能new scala class,具体操作如下:

    在项目的src/main下面创建一个scala目录,将该目录设置成可创建代码文件的目录,具体操作如下:

    • IDEA左上角--->File--->project structrue--->如下界面: 

    • 操作完以上3步后点击apply,对scala文件夹我们就可以创建代码文件了

     创建第一个scala代码

    在idea下的src/main/scala包上,右键--->创建packages--->包名为com.qianfeng.scala--->然后选中刚创建的包--->右键--->创建scala class--->编写scala代码文件

     

     

  • 相关阅读:
    【CSS】问题:为什么我的z-index不起作用
    JAVASE 第二十四天
    代码随想录算法训练营第23期day14|二叉树层序遍历、226.翻转二叉树、101. 对称二叉树
    Mybatis-Plus自动填充失效原因和解决方案
    call、bind、apply的作用与区别
    floyd 算法模板详解(适合新手)
    输出格式说明符%u
    QT QCalendarWidget 样式小结
    涉及主页面内嵌iframe中的列表数据的保存
    NX二次开发-OLE/COM向EXCEL表格中插入图片
  • 原文地址:https://blog.csdn.net/weixin_45772744/article/details/125541290