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负责确保从一个网络节点向另一个网络节点发送文件能作为一个完整的文件到达目的地 ...
随机推荐
- Git clone报错“Connection was reset, errno 10054”
前情 最近在使用一个UI库的时候,发现其中一个BUG,于是想尝试提一个PR. 坑位 我平时习惯用https的方式拉取代码,发现在clone代码的时候一直失败,错误提示:OpenSSL SSL_read ...
- orangepi zero3开启指定频段WiFi热点的指令
步骤 通过 -c 命令即可指定wifi频段,避免和其他wifi的频段撞在一起. 例如下面这条命令创建了一个频段为40,WiFi名为zero3,网段为192.168.12.0/24的WiFi热点 sud ...
- StarBlog博客Vue前端开发笔记:(4)使用FontAwesome图标库
前言 在现代前端开发中,图标已成为构建用户友好界面的重要元素.Font Awesome 是全球最流行的图标库之一,提供了大量的矢量图标,支持多种平台和框架.无论是网站.应用程序,还是管理面板,Font ...
- SQL Server Profiler的trc文件生成阻止
很奇葩,sqlserver自动生成trc文件,每分钟一个,重启服务器也没用. 解决思路: 查询现在正在跑的trace进程 select * from sys.fn_trace_getinfo(0); ...
- 【C#】【平时作业】习题-5-类的基础知识
一.概念题 1. 举例说明什么是类,什么是对象,并说明类与对象的关系? 类:具有相同特性(数据元素)和行为(功能)的对象的抽象就是类. 对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还 ...
- linux 安装navicat16-premium-cs 并破解
https://ylyhappy.gitee.io/posts/linux/install-navciat.html #破解navicat16 使用 navicat-keygen for linux ...
- Spring boot 2.0 之优雅停机
spring boot 框架在生产环境使用的有一段时间了,它"约定大于配置"的特性,体现了优雅流畅的开发过程,它的部署启动方式(java -jar xxx.jar)也很优雅.但是我 ...
- 【Mybatis-Plus进阶学习(八)】SQL注入器
使用SQL注入器就可以自定义例如selectById的默认方法. 实现步骤Step1:创建定义方法的类:Step2:创建注入器:Step3:在Mapper中加入自定义方法. 自定义注入器的简单使用 第 ...
- 【转载】 Spring Security做JWT认证和授权
https://www.jianshu.com/p/d5ce890c67f7 上一篇博客讲了如何使用Shiro和JWT做认证和授权(传送门:https://www.jianshu.com/p/0b11 ...
- Qt编写安防视频监控系统26-硬件加速
一.前言 硬件加速这个功能在一年多以前就已经具备,当时对两个内核一个是ffmpeg内核.一个是vlc内核都做了对应的接口函数,只是当时为了简单没有在系统设置中做出接口,vlc做硬件加速不用自己写代码实 ...