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

news/2024/5/17 15:59:08

文章目录

  • 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.mrgr.cn/p/47473021

相关文章

mysql刷题题后感

刷题的时候会将一些题目收藏,也会收藏错题,做完了整合一下,会有一些补充知识点。函数篇(和长篇大论的查询有交集) Q1: 查询语句select stuff(lo ina,3, 1, ve ch)结果为?love love china china love china答:stuff,删除并加入字符,STUFF(原字符, 开始位置, 删除长度,…

软件设计师:UML

UML基本概念UML(Unified Modeling Language,统一建模语言) UML词汇表包含3种构造块:事物、关系、图 事物结构事物:静态部分,如类、接口、用例等 行为事物:动态部分,如交互、状态机、活动 分组事物:包Package 注释事物:注释关系 UML中有4种关系:依赖、关联、泛化、实现…

【Mac】Photoshop 2024 for mac最新安装教程

软件介绍 Photoshop 2024是Adobe公司推出的一款图像处理软件,它支持Windows和Mac OS系统。Adobe Photoshop是业界领先的图像编辑和处理软件之一,广泛用于设计、摄影、数字绘画等领域。 Photoshop 2024的功能包括: 1.图像编辑:提…

react核心知识

1. 对 React 的理解、特性 React 是靠数据驱动视图改变的一种框架,它的核心驱动方法就是用其提供的 setState 方法设置 state 中的数据从而驱动存放在内存中的虚拟 DOM 树的更新 更新方法就是通过 React 的 Diff 算法比较旧虚拟 DOM 树和新虚拟 DOM 树之间的 Chan…

ElasticSearch教程入门到精通——第四部分(基于ELK技术栈elasticsearch 7.x新特性)

ElasticSearch教程入门到精通——第四部分(基于ELK技术栈elasticsearch 7.x新特性) 1. Elasticsearch进阶1.1 核心概念1.1.1 索引Index1.1.1.1 索引创建原则1.1.1.2 Inverted Index 1.1.2 类型Type1.1.3 文档Document1.1.4 字段Field1.1.5 映射Mapping1.…

linux13-用户,用户组

linux13-用户,用户组需要root权限执行 group add 创建用户组 # 查看含有关键词catcats66的组, 不存在 getent group | catcats66# 添加用户组catcats66 sudo groupadd catcats66 # 查询到含有关键词catcats66的组 getent group | catcats66groupdel 删除用户组 # 删除用户组 gr…

如何用OceanBase的 Load Data 导入CSV文件

0 前言 CSV文件(Comma-Separated Values,字符分隔值)是一种普遍采用的数据存储格式,有不少企业和机构都用它来进行数据的管理和存储。身为开发者,您可能经常遇到这样的需求:需要将CSV的数据导入OceanBase数…

GPT3 终极指南(一)

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

C语言二叉树和堆

二叉树基础知识: 1.栈、队列和顺序表都是线性结构 但是二叉树不是,二叉树是多分支结构 2.任何一棵树都可以拆分为子树和根节点,许多二叉树的相关问题都是用分治的思想进行函数的递归进行解决。 例:前序,中序&#x…

【VMware vSAN】如何删除虚拟机存储策略中的vSAN默认存储策略。

登录vSphere Client,展开左上角设置-策略和配置文件-虚拟机存储策略,可以查看系统默认创建的虚拟机存储策略。这些存储策略由系统自动生成,其中有一部分存储策略仅用于vSAN数据存储,作为vSAN 默认存储策略以应用于,当在部署虚拟机时未进行自定义存储策略时所默认分配的策略…

探索软件设计的九大核心架构模式

在当今迅速发展的软件开发领域,设计出卓越的软件系统是每一位程序员的追求。软件架构扮演着至关重要的角色,决定了系统的可维护性、可扩展性和性能。本文将深入探讨九大核心架构模式,揭示它们在软件设计中的美妙之处,以及在实际应用中的最佳实践。 分层架构(Layered Archi…

XSS(Pikachu)

XSS(Pikachu靶场) 概述 Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型: 1.反射性XSS; 2.存储型XSS; 3.DOM型XSS; XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一…

axios 中文文档 翻译

0.18.0的版本更新有一段时间了,使用起来跟原先基本没有什么变化。但是增加了一些功能,例如错误处理的辨别,于07-06-2018重新翻译和校验了该翻译,更正了一些错别字和表达不准的地方,但是难免仍有错误,欢迎指…

【Unity学习笔记】第十四 Prefab 概念解惑

目录 1 prefab、prefab变体、prefab覆盖和prefab 嵌套2 connect 与unpack3 prefab到底是什么,它和gameobject又有什么区别?4 为什么要用prefab?5 代码动态加载prefab6 为什么我unity PrefabUtility.InstantiatePrefab() 得到的是null7 Prefab…

【数据结构】:链表的带环问题

🎁个人主页:我们的五年 🔍系列专栏:数据结构 🌷追光的人,终会万丈光芒 前言: 链表的带环问题在链表中是一类比较难的问题,它对我们的思维有一个比较高的要求,但是这一类…

Xcode隐私协议适配

1. Privacy manifest files 1.1 简介 自己App或三方SDK(通过XCFrameworks|Swift packages|Xcode projects集成的)需要包含一个隐私清单文件(privacy manifest)叫作 PrivacyInfo.xcprivacy。它是一个属性列表,记录了A…

盲人手机导航:科技之光引领无障碍出行新纪元

在这个日新月异的数字时代,科技不仅改变了我们获取信息的方式,更在无声中拓宽了视障人士的生活半径。盲人手机导航这一创新技术,正逐步成为他们探索世界、实现独立出行的重要伙伴。 对于大多数人而言,日常出行或许只是一次…

Python绘制的好看统计图

代码 sx [Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, P…

特征重要性评估的随机森林算法与Python实现(三)

特征重要性评估(Variable importance measure, or Feature importance evaluation,VIM)用来计算样本特征的重要性,定量地描述特征对分类或者回归的贡献程度。随机森林(Random Forest)作为一种强大的机器学习算法,在特征重要性评估方面具有显著优势。特征重要新评估是随机森…

社会网络分析及其Python实现

社会网络分析(Social Network Analysis, SNA)在人类学、心理学、社会学、数学以及统计学等领域中发展起来,是综合运用图论、数学模型来研究社会行动者之间的关系或通过这些关系流动的各种有形或无形的东西,如信息、资源等,近年来逐渐成为一种热门的社会科学研究方法。社会…