美文网首页
大数据入门:Java和Scala编程对比

大数据入门:Java和Scala编程对比

作者: 成都加米谷大数据 | 来源:发表于2020-12-10 17:29 被阅读0次

在学习大数据之初,很多人都会对编程语言的学习有疑问,比如说大数据编程主要用什么语言,在实际运用当中,大数据主流编程是Java,但是涉及到Spark、Kafka框架,还需要懂Scala。今天的大数据入门分享,我们就来对Java和Scala这两门语言的编程做个对比。

Java VS Scala

从定义上来说,Java是面向对象的编程语言,而Scala是函数式编程语言,这两门语言之间,本身也有一定的关联。

Scala来源于Java,又“高于”Java,在Java之上增加了一层编码的“API”,让程序员可以通过函数式编程的方式来开发程序。

Scala程序最终被编译为.class文件运行在JVM虚拟机中,所以它是JVM下的语言一种,在实际的大数据开发任务当中,Java和Scala都运行于JVM之上,也能更好地集成。

Scala语言在大数据场景下,大多数是用来构建处理数据的。作为开发者,只需要关注收到的数据是什么格式,要把收到的数据分类映射成什么格式,映射后的数据接下来又如何映射成我所需要的数据集(常用的数据集有TopN,Accumulator等)。

Java和Scala的区别

1、变量声明

var变量;val常量;Scala支持自动类型推断

Scala更多的是采用常量,而不是变量来解决问题,这样带来的好处是可以减少多线程并发安全问题,特别适合高并发分布式的场景。

2、函数的声明

关键字def,Scala函数没有返回值时使用Unit,相当于Java的void。

Scala支持函数式编程,可以使用高阶函数,函数是一等公民。

3、基本类型

Scala中没有真正意义上的基本类型,类型都是类。

4、静态

Java中静态static是违背Java OOP编程思想和封装特性。

Scala取消了静态的概念,使用了单例对象Object来实现。

5、字符串

Scala支持使用字符串插值的方式对字符串进行格式化,使用$开头进行取值。

另外支持使用三引号将其中的内容直接包起来(Python也有三引号),其中可以包括任何字符,而不需要进行特别转义。

6、类

Scala类中的字段自动带有getter和setter方法,另外可以使用@BeanProperty注解来生成Java中的Get/Set方法。

Scala中的每个类都有一个主构造方法,这个构造方法和类定义“交织在一起”,类的参数直接成为类的字段,主构造方法执行类体中的所有语句。

7、Scala中不支持break

使用return替代

在循环中使用if和布尔类型变量

导入Java中支持break的包

8、访问范围

Java中外部看不到内部,内部能看到外部

Scala中外部看不到内部,内部也看不到外部

9、通配符

Java中使用*进行通配

Scala中使用_进行通配

10、默认导入的类

Scala默认java.lang包、Scala包、Scala.Predef类

Java默认导入java.lang包

11、特质trait可以类比Java中的接口,但是和接口非常不一样

Java中称为类实现了接口,Scala中称为混入了特质

和Java中的接口不同,Scala中的特质可以包含带有方法体的方法(JDK8接口也可以的,比如default方法)。

关于大数据入门,Java和Scala编程,以上就为大家做了简单的对比了。在大数据开发任务当中,Java语言和Scala语言都在各自的场景下发挥着作用,而Scala的学习,对于Spark框架的掌握尤其重要。

相关文章

  • 大数据入门:Java和Scala编程对比

    在学习大数据之初,很多人都会对编程语言的学习有疑问,比如说大数据编程主要用什么语言,在实际运用当中,大数据主流编程...

  • scala 编程快速入门

    Scala编程思想 作者布鲁斯 埃克尔(Bruce Eckel),也是Java编程思想的作者,本书是入门读本,和之...

  • Scala编程:Actor入门

    Actor入门 引言 Scala的Actor类似于Java中的多线程编程。但是不同的是,Scala的Actor提供...

  • Scala基础

    Scala概述 Scala设计的目的是整合面向对象编程和函数式编程。Scala运行于Java平台(JVM),并兼容...

  • Java编程入门

    Java编程入门(词汇表) Java编程入门:前言 Java编程入门:第1章 思考的风景 Java编程入门(1.1...

  • Spark编程实践

    使用Scala和Java编写Spark程序。 Spark编程 Scala实现 sbt 首先安装sbt 赋予权限 添...

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

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

  • stream in java8

    如果使用过scala,使用scala函数编程思想处理数据,那酸爽谁用谁知道。使用java老觉得不得劲,但java8...

  • 100天自学大数据:我用Scala复习学统计基础公式

    适合人群 已经忘记统计学基础的 Scala刚刚入门的 通过对统计学入门公式的实践编程,你可以对Scala做到入门,...

  • Flink计算框架

    Flink是什么 Flink使用java语言开发的计算框架,提供了scala编程的接口。使用java或者scala...

网友评论

      本文标题:大数据入门:Java和Scala编程对比

      本文链接:https://www.haomeiwen.com/subject/qwsrgktx.html