【Scala---01】Scala『 Scala简介 | 函数式编程简介 | Scala VS Java | 安装与部署』

devtools/2024/10/18 18:26:25/

文章目录

  • 1. Scala简介
  • 2. 函数式编程简介
  • 3. Scala VS Java
  • 4. 安装与部署

1. Scala简介

Scala是由于Spark的流行而兴起的。Scala是高级语言,Scala底层使用的是Java,可以看做是对Java的进一步封装,更加简洁,代码量是Java的一半。 因此,Scala是运行在JVM上的,可以跨平台,可以直接在Scala中编写Java代码。

现在大数据生态的语言:

在这里插入图片描述

2. 函数式编程简介

  1. Scala是面向函数式编程,无论做什么要明确是什么函数。具体而言,就是 函数可以作为参数传递给另一个函数,也可以把函数作为返回值返回出来。
  2. 函数式编程没有副作用,即变量一经赋值,就不变。
  3. 引用透明。指函数的运行不依赖于外部变量或状态,只依赖于输入参数,任何时候只要输入的参数相同,那么引用函数得到的返回值永远相同。Java中查看一个函数功能,往往要查引用的类,类中还有引用类…,需要一直点进去,引用不够透明。

3. Scala VS Java

  1. Java是面向对象的,Scala是面向函数式编程的,这是两者最大的区别。

    Scala的函数式编程是借鉴的Python优点,为什么不使用Python开发

  2. Java是面向对象的用于解决通用问题,Scala是专注于解决数据统一计算。抽象来说,无论解什么数学题,首先得学好加减乘除,而解决线性代数就得学好矩阵相关公式,学高等数学就得学好微积分相关公式,但矩阵与微积分本质上还是由加减乘除组合而来的,只不过是矩阵相关方式和微积分相关方式是已解决的封装好的公式,直接使用就行。具体而言,就是Scala比Java多一些数据统计的方法,比如 group by等等。
  3. Scala也拥有Java高并发、可移植、运行快的特点。一次编译成class文件,多次运行。

4. 安装与部署

  1. 生产环境Linux的部署
  2. 编辑环境的部署
  3. 项目部署
    1. 创建Java项目,不是scala项目
      在这里插入图片描述
    2. 创建scala文件夹,并将文件夹标记为【源文件夹】,这样编写的代码能够被IDEA检测到,方便写代码
      在这里插入图片描述
    3. 将IDEA与本地Scala联系起来
      在这里插入图片描述
    4. 创建.scala文件
      在这里插入图片描述

http://www.ppmy.cn/devtools/28563.html

相关文章

openlayer 使用ol-ext插件实现凸显区域

使用ol-ext插件实现凸显多变形 效果如图 1、创建openlayer var map; var view; var tileLayer, source, vector;function init() {tileLayer new ol.layer.Tile({source: new ol.source.TileArcGISRest({url: "http://map.geoq.cn/arcgis/rest/services/ChinaOnlineStr…

Xcode15安装iOS17模拟器及显示iOS真机

前言 升级完Xcode15之后,本地模拟器 Simulator 全被清空,真机也不显示(😴惑),编译按钮也无法点击,只有一个选项(如下图所示)。 点击下面的管理设备,可以显示…

使用 Go 语言统计 0-200000 的数字中,哪些是素数?

题目 使用 Go 语言统计 0-200000的数字中,哪些是素数? 思路 两种方法: 单循环遍历 1-200000 数字,并判断是否是素数。 使用了 Goroutine 和通道实现并发: 通过创建两个通道 intChan 和 primeChan,以及一…

Redux数据流架构

Redux的难点是理解它对于数据修改的规则, 下图动态展示了在整个数据的修改中,数据的流向 Redux代码被分为三个核心的概念,三个概念分别是: state: 一个对象 存放着我们管理的数据action: 一个对象 用来描述你想怎么改数据reducer: 一个函数 根据action的…

周三多《管理学原理》第3版/考研真题/章节练习题

普通高等教育“十一五”国家级规划教材《管理学原理》(第3版,周三多、陈传明、龙静编著,南京大学出版社)是我国高校广泛采用的管理学权威教材之一,也被众多高校(包括科研机构)指定为考研考博专业…

GPT3 终极指南(一)

原文:zh.annas-archive.org/md5/6de8906c86a2711a5a84c839bec7e073 译者:飞龙 协议:CC BY-NC-SA 4.0 前言 GPT-3,或者说是 Generative Pre-trained Transformer 3,是由 OpenAI 开发的基于 Transformer 的大型语言模型…

【Spark】读取本地文件

最近有一个需求,spark任务读取本地csv文件,拼接成rk之后再去hbase取值进行后续处理。搞了好久都没能解决,记录一下解决思路如下: 1、写入临时文件 spark可以读取本地文件,但打成jar包之后不会自动读取jar包中的文件&…

ubuntu 卸载docker

1、通过 apt 命令卸载 docker 软件包: sudo apt-get purge docker-ce docker-ce-cli containerd.io -y 2、删除所有相关的配置文件和数据目录 sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd 3、若你之前通过脚本安装了 Docker,那么还需…