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

文章目录

  • 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.mzph.cn/diannao/6937.shtml

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

相关文章

前端开发攻略---打破Chrome的最小字号限制,设置任意字号大小

目录 1、原因 2、解决方法 1、原因 由于Chrome浏览器的限制,在网页中的字号默认最小为12px,更改为12px以下的字号大小是无效的 2、解决方法 1、在Chrome浏览器中调整字号最小值 优点:快,方便, 缺点:只对自…

Delta lake with Java--在spark集群上运行程序

昨天写了第一篇入门,今天看见有人收藏,继续努力学习下去。今天要实现的内容是如何将昨天的HelloDetlaLake 在spark集群上运行,。具体步骤如下 1、安装spark,我使用的是 spark-3.5.1-bin-hadoop3-scala2.13,去官网下载&#xff0c…

全流程基于GIS、python机器学习技术的地质灾害风险评价与信息化建库应用

入门篇,ArcGIS软件的快速入门与GIS数据源的获取与理解;方法篇,致灾因子提取方法、灾害危险性因子分析指标体系的建立方法和灾害危险性评价模型构建方法;拓展篇,GIS在灾害重建中的应用方法;高阶篇&#xff1…

网络基础-思科IOS基本操作(Cisco)

思科设备的命令行模式: 1.用户模式 (User EXEC Mode): 这是用户最初进入设备时所处的模式。在这个模式下,用户只能执行一些基本的查看命令,不能进行任何配置更改。能够进入该模式说明设备没问题;提示符通常是一个设备名称后面跟着…

BetterMouse for Mac激活版:鼠标增强软件

BetterMouse for Mac是一款鼠标增强软件,旨在取代笨重的、侵入性的和耗费资源的鼠标驱动程序,如罗技选项。它功能丰富,重量轻,效率优化,而且完全隐私安全,试图满足你在MacOS上使用第三方鼠标的所有需求。 B…

面试经典150题——验证回文串

面试经典150题 day25 题目来源我的题解方法一 双指针方法二 双指针 空间优化 题目来源 力扣每日一题;题序:125 我的题解 方法一 双指针 首先去除掉字符串中的无用字符,并将英文字符转换为小写,然后使用双指针来判断是否是回文串…

Having和Where的区别

Having和Where都是过滤数据的关键子句 Where是在分组之前过滤数据 SELECT * FROM Employees WHERE department Tech;Having是在分组之后利用聚合函数进行过滤 SELECT department, AVG(salary) AS average_salary FROM Employees GROUP BY department HAVING AVG(salary) >…

【linux学习指南】linux 环境搭建

文章目录 📝前言🌠 云服务器的选择🌠阿里云🌠腾讯云🌠华为云 🌠使用 XShell 远程登陆到 Linux🌉下载 XShell 🌠查看 Linux 主机 ip🌉 XShell 下的复制粘贴🌉 …

Java 函数式编程 的基础使用2-BiConsumer

1、创建函数时&#xff0c;确定函数的参数类型和具体操作。 2、使用accept接收函数参数&#xff0c;并执行函数操作。 public class MyBiConsumer {public static void main(String[] args) {BiConsumer<String, Integer> printNameAndAge (param1, param2) -> {Sys…

FIFO Generate IP核使用——异步复位

FIFO Generator IP核提供了一个复位输入&#xff0c;当该输入被激活时&#xff0c;它会复位所有的计数器和输出寄存器。对于块RAM或分布式RAM实现&#xff0c;复位FIFO并不是必需的&#xff0c;可以在FIFO中禁用复位引脚。共有两种复位类型选项&#xff1a;异步复位和同步复位。…

FTP和NFS

一、FTP 1.FTP原理 FTP&#xff08;file Transfer Protocol&#xff0c;文件传输协议&#xff09;&#xff0c;是典型的C/S架构的应用层协议&#xff0c;由客户端软件和服务端软件两个部分共同实现文件传输功能&#xff0c;FTP客户端和服务器之间的连接时可靠的&#xff0c;面…

八股文(C#篇)

C#中的数值类型 堆和栈 值类型的数据被保存在栈&#xff08;stack)上&#xff0c;而引用类型的数据被保存在堆&#xff08;heap&#xff09;上&#xff0c;当值类型作为参数传递给函数时&#xff0c;会将其复制到新的内存空间中&#xff0c;因此在函数中对该值类型的修改不会影…

Windows CDM命令提示符-杀死端口且进程

在Windows中&#xff0c;我们可以使用netstat和taskkill命令来杀死特定端口号的进程。 首先&#xff0c;我们需要找到使用特定端口的进程的PID。我们可以使用netstat命令与findstr命令结合来实现。 解决方案1&#xff1a; for /f "tokens5" %a in (netstat -aon ^…

数据结构===二叉树

文章目录 概要二叉树的概念分类存储遍历前序中序后序 小结 概要 简单写下二叉树都有哪些内容&#xff0c;这篇文章要写什么 二叉树的概念分类&#xff0c;都有哪些二叉树遍历 对一个数据结构&#xff0c;最先入手的都是定义&#xff0c;然后才会有哪些分类&#xff0c;对二叉…

【C】137 只出现一次的数字

给你一个整数数组 nums &#xff0c;除某个元素仅出现 一次 外&#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。 解法一 #include <stdio.h>int singleNumber(i…

spring-cloud-starter-alibaba-nacos-discovery如何从nacos上获得已经注册的服务地址

在Spring Cloud中&#xff0c;可以使用Spring Cloud Alibaba Nacos Discovery来从Nacos服务器获取所有微服务的地址。你需要在你的微服务中添加以下依赖&#xff1a; <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-star…

时代少年团MV女主被骂上热搜,时代峰峻走到了十字路口

女演员和男团拍个MV都会被骂上热搜&#xff0c;这年头粉丝都这么霸道了&#xff1f; #时代少年团女主 贺美琦# #贺美琦曾是TFBOYS的MV女主# #时代少年团MV有女主# ...... 自从时代少年团第三张专辑《叁重楼》的新歌《那些我没说的话》曝光之后&#xff0c;歌曲MV中女主角的…

Qt中几种启动外部程序的方法

//启动外部程序方法1:QString startCmd QString("start %1/ADTvision/ADTvision.exe").arg(QCoreApplication::applicationDirPath()); system(startCmd.toLatin1().data());//启动外部程序方法2:QString startPath QCoreApplication::applicationDirPath() &q…

开源电子邮件营销平台 listmonk 使用教程

做产品肯定要做电子邮件营销&#xff0c;特别是面向海外的产品&#xff0c;电子邮件营销已成为企业与客户沟通、建立品牌忠诚度和推动销售的重要工具&#xff0c;可以直接接触到目标受众&#xff0c;提供个性化内容&#xff0c;并以相对较低的成本获得可观的投资回报。你看&…

Vue2——前端笔记

Vue 一、Vue核心1.1、vue简介1.2、初始vue1.3、模板语法1.4、数据绑定1.5、el与data的两种写法1.6、MVVM模型1.7、Vue中的数据代理1.7.1、Object.defineProperty() 理解1.7.2、Vue中的数据代理 1.8、事件处理1.8.1、事件的基本用法1.8.2、事件修饰符1.8.3、键盘事件 1.9、计算属…