大数据

大佬用了2个小时讲完了Scala,总计385.76M,附Scal

2020-03-25  本文已影响0人  程序员1

前言

Scala 是一门类 Java 的编程语言,它结合了面向对象编程和函数式编程。

Scala 的设计目的是要和两种主流面向对象编程语言 Java 和 C#实现无缝互操作,这两种主流语言都非纯面向对象。Scala运行在Java虚拟机上,并兼容现有的Java程序。

Scala 源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。

Scala语言特性

面向对象特性

Scala是一种纯面向对象的语言,每个值都是对象。对象的数据类型以及行为由类和特质描述。

类抽象机制的扩展有两种途径:一种途径是子类继承,另一种途径是灵活的混入机制。这两种途径能避免多重继承的种种问题。

函数式编程

Scala也是一种函数式语言,其函数也能当成值来使用。Scala提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化。Scala的case class及其内置的模式匹配相当于函数式编程语言中常用的代数类型。

更进一步,程序员可以利用Scala的模式匹配,编写类似正则表达式的代码处理XML数据。

静态类型

Scala具备类型系统,通过编译时检查,保证代码的安全性和一致性。类型系统具体支持以下特性:

泛型类

协变和逆变

标注

类型参数的上下限约束

把类别和抽象类型作为对象成员

复合类型

引用自己时显式指定类型

视图

多态方法

扩展性

Scala的设计秉承一项事实,即在实践中,某个领域特定的应用程序开发往往需要特定于该领域的语言扩展。Scala提供了许多独特的语言机制,可以以库的形式轻易无缝添加新的语言结构:

任何方法可用作前缀或后缀操作符

可以根据预期类型自动构造闭包。

并发性

Scala使用Actor作为其并发模型,Actor是类似线程的实体,通过邮箱发收消息。Actor可以复用线程,因此可以在程序中可以使用数百万个Actor,而线程只能创建数千个。在2.10之后的版本中,使用Akka作为其默认Actor实现。

Scala学习路线

scala语言、函数式编程、数据集处理、iterator设计模式实现

scala语言、流程控制、高级函数

scala语言、集合容器、iterator设计模式源码分析

scala语言、match、case class、implicitt、spark wordcount

Scala学习思维导图

Scala 385.76M学习视频

学习Scala需要学习的Scala并发编程技术文档

主要内容

这些并发编程技术包括:并发程序设计的基础知识和背景知识、常用并发实用组件(如线程池、原子变量和并发集合)的用法、Scala 专用并发框架(Future 和Promise API)的用法、Scala 并行集合框架的用法、使用响应式扩展框架编写基于事件的程序和异步程序的方式、用于编写事务程序的ScalaSTM库以及Actor编程模型和Akka框架。列举的实例既介绍了理论知识又展示了实践方法,同时还能够开拓读者的编程思路。

需要Scala 385.76M学习视频和Scala并发编程技术文档的小伙伴,就可以转发此文让更多的人受益,还可以关注一下以后持续更新,最后添加V X :bjmashibing001 即可免费获取!

上一篇下一篇

猜你喜欢

热点阅读