scala - [01] 概述
题记部分
001 || 介绍
(1)Spark —— 新一代内存级大数据计算框架,是大数据的重要内容
(2)Spark就是使用Scala编写的。因此为了更好的学习Spark,需要掌握Scala。
(3)Spark的兴起,带动Scala语言的发展
002 || 发展史
联邦理工学院的马丁·奥德斯基(Martin Odersky)于2001年开始设计Scala。
马丁·奥德斯基是编译器及编程的狂热爱好者,长时间的编程之后,希望发明一种语言,能够让写程序这样的基础工作变得高效,简单。所以当接触到java语言后,对Java这门便捷式、运行在网络上、且存在垃圾回收的语言产生了极大的兴趣,所以决定将函数式编程语言的特点融合到Java中,由此发明了两种语言(Pizza & Scala)。
Pizza 和 Scala极大地推动了Java编程语言的发展。
jdk5.x的泛型,for循环增强,自动类型转换等,都是从Pizza引入的新特性。
jdk8.x的类型推断,Lambda表达式都是从Scala引入的特性。
jdk5.x和jdk8.x的编辑器就是马丁·奥德斯基写的,因此马丁·奥德斯基一个人的战斗力抵得上一个Java开发团队。
003 || Scala和Java的关系
一般来说,学Scala的人,都会Java,而Scala是基于Java的,因此我们需要将Scala和Java以及JVM之间的关系搞清楚。
004 || Scala语言特点
Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。
(1)Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程。
(2)Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。
(3)Scala单作为一门语言来看,非常的简洁高效。
(4)Scala在设计时,马丁·奥德斯基时参考了Java的设计思想,可以说Scala是源于Java,同时马丁·奥德斯基也加入了自己的思想,将函数式编程语言的特点融合到Java中。
scala - [01] 概述的更多相关文章
- kafka详解(01) - 概述
kafka详解(01) - 概述 定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域. 消息队列 MQ传统应用场景之异步处理 使用消 ...
- Zookeeper详解(01) -概述
Zookeeper详解(01) -概述 概念 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分 ...
- 01 - 概述 VTK 6.0 迁移
摘要 对vtk版本4和5的管道机制重新架架构的主要目的是:迁移数据对象和算法对象中的管道执行逻辑到一个新集合的类中,我们称这个集合类叫executives.分离数据和执行模型的代码后,可以双双简化修改 ...
- Redis数据库 01概述| 五大数据类型
1.NoSQL数据库简介 解决应用服务器的CPU和内存压力:解决数据库服务的IO压力: ----->>> ① session存在缓存数据库(完全在内存里),速度快且数据结构简单: 打 ...
- 相见恨晚的 scala - 01 [ 基础 ]
简洁到不行,多一个分号都是不应该. 学习笔记: centOS 下安装 scala 和安装 jdk 一毛一样 . 1 . 不同于 Java 的变量声明 :( 但是和 js 很像 ) /** * Crea ...
- Hive 01 概述、安装配置
概述 数据仓库:是一个面向主题的.集成的.不可更新的.随时间不变化的数据集合,它用于支持企业或组织的决策分析处理. 数据仓库的结构和建立过程: 数据源 数据存储及管理 ETL Extract 提取 T ...
- 2.1 Scala语言概述
一.编程范式 命令式编程没有办法充分利用多核CPU: 函数式编程很多变量是不可修改的. 二.Scala简介 特点 scala运行在JVM上,兼容现有的Java程序: 面向对象的编程语言: 一门函数式语 ...
- 【OracleDB】 01 概述和基本操作
实例概念: Oracle有一个特殊的概念 Oracle数据库 = 数据库 + Oracle文件系统 + Oracle实例 实例处理Oracle的请求,调用文件系统 然后返回结果响应给客户端 单实例和多 ...
- 【大数据面试】Flink 01 概述:包含内容、层次架构、运行组件、部署模式、任务提交流程、任务调度概念、编程模型组成
一.概述 1.介绍 对无界和有界数据流进行有状态计算的分布式引擎和框架,并可以使用高层API编写分布式任务,主要包括: DataSet API(批处理):静态数据抽象为分布式数据集,方便使用操作符进行 ...
- Headfirst JSP 01 (概述)
HTTP 协议 http 是tcp/ip上层协议, 如果你对这些网络协议还不是太熟悉, 下面提供一个非常简单的解释, tcp负责确保从一个网络节点向另一个网络节点发送文件能作为一个完整的文件到达目的地 ...
随机推荐
- python雪花算法
雪花算法(Snowflake Algorithm)是一种用于生成唯一的ID的算法,它由Twitter开发.其生成的ID在全局范围内是唯一的,适合高并发场景.雪花算法生成的ID通常是一个64位的整数,包 ...
- 关于Git上传项目报错error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
问题 今天用Git上传项目时,最后一步push时命令行报错 error: RPC failed; HTTP 413 curl 22 The requested URL returned error: ...
- 4.mysql中的存储过程
创建存储过程和函数 CREATE [DEFINER = {USER | CURRENT_USER}] # 定义者是谁 PROCEDURE sp_name ([proc_parameter[,...]] ...
- GraphQL Part V: 字段,参数和变量
字段 我们对字段已经有了好的起点,我们在 HelloWorldQuery 中有两个字段:hello 和 world.他们都是单值字段. 现在我们可以扩展应用来支持复杂类型.例如,我们想象一下,我们在创 ...
- GienTech动态|长沙共建交付中心启动、联合华为举办金融CXO沙龙、亮相大湾区多场科技盛会
---- GienTech动态 ---- 长沙共建交付中心启动仪式圆满举办 11月23日,由中电金信和太平洋人寿保险联合举办的长沙共建交付中心启动仪式顺利举行.太平洋人寿保险总经理助理.首席信息官黄鲲 ...
- JDK 19 对反应式编程的批判
我们知道 JDK 19 引入了虚拟线程,实现了 JEP425 草案,https://openjdk.org/jeps/425 该案对反应式编程的批判可谓犀利: Improving scalabilit ...
- Spark内存调优
一.概述Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色.理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优.本文旨 ...
- "有邻"创始人:APP覆盖杭州千余小区 却还没认真想过赚钱的事
"远亲不如近邻",常被社区经济"掘金者"拿来做开场语. 在杭州,有不少互联网创业企业在深挖社区经济,例如社区O2O服务平台.杨仁斌也看中了"社区&qu ...
- Qt/C++编写视频监控系统83-自定义悬浮条信息
一.前言 一般视频控件上会给出个悬浮条,这个悬浮条用于显示分辨率或者一些用户期望看到的信息,一般常用的信息除了分辨率以外,还有帧率.封装格式.视频解码器名称.音频解码器名称.实时码率等,由于实际的场景 ...
- DVWA靶场Insecure CAPTCHA(不安全验证)漏洞所有级别通关教程及源码审计
Insecure CAPTCHA(不安全验证) Insecure CAPTCHA(不安全验证)漏洞指的是在实现 CAPTCHA(完全自动化公共图灵测试区分计算机和人类)机制时,未能有效保护用户输入的验 ...