Scala---介绍及安装使用

news2024/11/15 7:43:00

一、Scala介绍

1. 为什么学习Scala语言

Scala是基于JVM的语言,与java语言类似,Java语言是基于JVM的面向对象的语言。Scala也是基于JVM,同时支持面向对象和面向函数的编程语言。这里学习Scala语言的原因是后期我们会学习一个优秀的计算框架Spark,Spark底层源码的编写语言就有Scala,同时工作中很有可能使用Scala语言进行Spark的开发。Spark1.6版本中底层基于Scala语言的版本是Scala2.10版本。Spark2.0版本以上底层基于的Scala语言版本是Scala2.11版本。

2. Scala官网6大特性

1).Java和scala可以混编

2).类型推测(自动推测类型)

3).并发和分布式(Actor)

4).特质,特征(类似java中interfaces 和 abstract结合)

5).模式匹配(类似java switch)

6).高阶函数

二、Scala安装使用

1、windows安装,配置环境变量

  • 官网下载scala2.11:All Available Versions | The Scala Programming Language
  • 下载好后安装。双击msi包安装,记住安装的路径。
  • 配置环境变量(和配置jdk一样)
新建SCALA_HOME

注意:这里建议将Scala安装到纯英文没有空格和特殊符号的路径下。避免后期使用Scala版本出现问题。

上个步骤完成后,编辑Path变量,在后面追加如下:%SCALA_HOME%\bin

  • 打开cmd,输入:scala  - version  看是否显示版本号,确定是否安装成功

2、eclipse 配置scala插件

  • 下载插件(一定要对应eclipse版本下载)

Older releases of the Scala IDE for Eclipse - Scala IDE for Eclipse  

  • 下载好zip包后,解压如下:

  • 将features和plugins两个文件夹拷贝到eclipse安装目录中的” dropins/scala”目录下。进入dropins,新建scala文件夹,将两个文件夹拷贝到“dropins/scala”下

注意:以上这种在eclipse中的配置方式不建议大家配置,因为Scala官网中仅仅针对部分版本的eclipse进行过配置。所以有可能找不到对应的版本。

3、scala ide

Scala IDE就是Scala官网中针对eclipse稳定版本配置好了Scala的插件。Scala IDE 就是配置好Scala插件的eclipse。如果使用eclipse开发Scala建议使用这种方式。下载网址:Download Scala IDE for Eclipse - Scala IDE for Eclipse 。

4、idea 中配置scala插件

  • 打开idea,close项目后,点击Configure->Plugins

  • 搜索scala,点击Install安装

注意:这里安装了Scala,所以这里显示“Uninstall”。

  • 设置jdk,打开Project Structure,点击new 选择安装好的jdk路径

  • 创建scala项目,配置scala sdk(Software Development Kit)

点击第三步,弹出选择SDK,点击Browse选择本地安装的Scala目录。选择system对应的Scala版本即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1202556.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单链表(7)

插入函数——插入数据,在链表plist的pos位置插入val数据元素 由图知,poslength时,是可以插入的 在大多数情况下,说位置的时候,从0开始计数;说第几个数据的时候,从1开始计数 现在来测试一下 这就…

CSDN的规范、检测文章质量、博客等级好处等等(我也是意外发现的,我相信很多人还不知道,使用分享给大家!)

前言 都是整理官方的文档,方便自己查看和检查使用,以前我也不知道。后来巧合下发现的,所以分享给大家! 下面都有官方的链接,详情去看官方的文档。 大家严格按照官方的规范去记录自己工作生活中的文章,很快…

MacOS Ventura 13 优化配置(ARM架构新手向导)

一、系统配置 1、About My MacBook Pro 2、在当前标签打开新窗口 桌面上创建目录的文件夹,每次新打开一个目录,就会创建一个窗口,这就造成窗口太多,不太好查看和管理,我们可以改成在新标签处打开新目录。需要在&…

电动自动换刀高速电主轴的技术优势浅析

在制造业中,自动化技术的发展一直是一个重要的话题。其中,电动自动换刀被认为是一项高效、智能、先进的技术,在高速电主轴中使用电动自动换刀这一技术,不仅能够缩短换刀时间,还能减少换刀失误,本文将探讨Sy…

光计算1周2篇Nature,英伟达的时代彻底结束!

近期,光计算领域连续发出重量级文章,刊登在学术界的顶级期刊上。一时间,各大媒体纷纷转发,读者们也纷纷感叹:中国芯片取代英伟达的机会来了!今天,光子盒用这篇万字长文为大家梳理光计算的背景、…

指标类型(一):北极星指标、虚荣指标

每个产品都有很多指标,每个指标都反映了对应业务的经营情况。但是在实际业务经营中,却要求我们在不同的产品阶段寻找到合适的指标,让这个指标可以代表当前产品阶段的方向和目标,让这个指标不仅对业务经营团队,而且对产…

双十一网络电视盒子哪个品牌好?内行分享权威电视盒子排行榜

双十一大促正如火如荼进行中,因为我从事的工作和电视盒子有关,身边的朋友们在选购电视盒子时不知道从何下手就会问我的意见,本期将盘点业内公认的电视盒子排行榜,给双十一想买电视盒子的朋友们做个参考。 排行一:泰捷W…

【C++】非类型模板参数 | array容器 | 模板特化 | 模板为什么不能分离编译

目录 一、非类型模板参数 二、array容器 三、模板特化 为什么要对模板进行特化 函数模板特化 补充一个问题 类模板特化 全特化与偏特化 全特化 偏特化 四、模板为什么不能分离编译 为什么 怎么办 五、总结模板的优缺点 一、非类型模板参数 模板参数分两类&#x…

MVVM框架:图片加载有问题

一、前言:在我使用ImageView加载图片的时候添加如下代码发现报错 app:imageUrl"{viewModel.observableField.assetImg}"报错如下错误 二、原因:是啥我不太清楚好像是没有imageView的适配器,后来我看了一下确实没有 public class I…

Java中所有的运算符,以及运算符优先级(总结)

运算法是一种特殊的符号,用于表示数据的运算、复制、比较等。 1、算数运算符 // % 取余运算:结果的符号和被模数的符号一致 12 % 5 2 -12 % 5 -2 12 % -5 2 -12 % -5 -2int a1 10; int b1 a1; // a111, b111 int a2 10; int b2 a2; // a211, …

keras转onnx,TensorFlow转tf.keras.models.load_model,onnx精度转换

参考: https://blog.csdn.net/Deaohst/article/details/126864267 转onnx 别直接转onnx。 先转PB: import tensorflow as tfmodel_path ./models/model.h5 # 模型文件 model tf.keras.models.load_model(model_path) model.sa…

Microsoft outlook已停止工作

故障现象 运行outlook,无法进入程序,显示已停止工作 故障截图 解决方案 1、点击查看问题详细信息,查看故障模块名称,一般是某个dll动态链文件,然后下载或者拷贝该dll文件将其覆盖即可 2、如果找不到,可以使用专用的…

如何向MapInfo Pro添加自定义符号?

用户可以在MapInfo Pro中创建和使用自己的自定义图像作为符号。要访问这些自定义符号,请将它们放在CUSTSYMB目录中,然后从“符号样式”对话框(Style>符号样式)的“字体”列表中的“自定义符号”选项中选择它们。MapInfo Pro中的…

智慧化城市内涝的预警,万宾科技内涝积水监测仪

随着城市化进程的加速,伴随的是城市内涝问题日益凸显。频繁的暴雨和积水给市民的生活带来了诸多不便,也给城市的基础设施带来了巨大压力。如何解决这一问题,成为智慧城市建设的重要课题和政府管理的工作主题,只要内涝问题得到缓解…

实时数仓-Flink使用总结

阿里云实时计算Flink版是阿里云基于Apache Flink构建的企业级、高性能实时大数据处理系统。具备一站式开发运维管理平台,支持作业开发、数据调试、运行与监控、自动调优、智能诊断等全生命周期能力。本期将对Flink的使用进行总结。 1. Flink产品回顾 阿里云实时计算…

11月13日星期一今日早报简报微语报早读

11月13日星期一,农历十月初一,早报微语早读。 1、国家邮政局:“双11”当天全国快递业务量达6.39亿件; 2、公安机关通缉4名缅北电诈头目,其中一人为缅甸掸邦议会原议员; 3、多部门提醒:未满10…

【Debug】此语法需要一个导入的帮助程序,但找不到模块“tslib”

报错如下: 代码可以编译运行,但是会有红线和报错。 解决方法:TypeScript error “TS2354: This syntax requires an imported helper but module ‘tslib’ cannot be found” Issue #37991 microsoft/TypeScript GitHub 在tsconfig.jso…

MacOS下VMware Fusion配置静态IP

前言 在虚拟机安装系统后,默认是通过DHCP动态分配的IP,这会导致每次重启虚拟机ip都可能会改变,使用起来会有很多不便。 配置静态IP 查看主机网关地址 cat /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf 查看主机DNS,m…

【中间件篇-Redis缓存数据库06】Redis主从复制/哨兵 高并发高可用

Redis高并发高可用 复制 在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis 副本。复制功能是高可用Re…

贵金属投资怎样分析市场行情?

分析市场行情对于贵金属投资者来说非常重要,它可以帮助投资者更好地理解市场趋势和价格走势,从而做出更明智的投资决策。以下是一些常用的方法和工具,可用于贵金属市场行情分析: 1、基本面分析:基本面分析主要关注供求…