栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

简述Java和Scala的区别

简述Java和Scala的区别

Java支持基本类型+static关键字,使得Java是个不纯粹的OOP语言

Java已经存在很多年,编程思想根深蒂固,不能轻易大方面更新,

这时候

基于ava1.8版本派生出了Scala,基于1.8的新特性——函数式接口和lambada表达式

Scala衍生出一种编程理念:函数式编程

在Scala的方法里会对类进行分类,一般分为

//入口方法:引入数据 返回值:return this(当前对象);

//过程处理:处理业务 返回值:return this(当前对象);

//出口方法:展示结果 返回值:return this(当前对象);

Scala特点:

Scala一切皆对象,纯粹的面对对象语言

Scala支持面向函数编程

Java工程化构建,Scala面向差异化小任务(类似SQL)

Scala中不支持接口

优雅:一行抵多行 scala 基于 java 简化了逻辑编码 (基于函数式接口+lambada表达式)

速度快:静态编译

方便融合hadoop生态圈:spark依赖scala

JAVA

SCALA

字符串

""+""

"""...n..."""

返回值

return

最后一行表达式

访问符

default friendly

default public

默认导入

java.lang.*

java.lang.*;scala;scala.Predef;

数据类型

基本类型+引用类型

全部引用类型

static

支持

不支持

范式

OOP

OOP+函数式编程

接口

interface

trait

OOP

类和对象

单列对象|同一个文件中同名

伴生类class+伴生对象object(隐式创建)

方法

()表示调用

无参()可以缺省

Java1.8新特性:

函数式接口:前提是个接口,通常是指只有一个抽象方法的接口

Java内置4个标准函数式接口:

Supplier => T get(); 提供者

Consumer => void accept(T t); 消费者

Function => R apply(T t); 函数定义进出类型

Predicate => boolean test(T t); 预测

lambada表达式: 简化代码,不用new对象,()- >

lamba表达式的符号表示为 ->,其基本结构形式为:(param1,param2,param3…)-> { }

如果只有一个参数,可以不加小括号,只有一行执行代码,也可以没有箭头后面的大括号,比如 i ->System.Out.Println(i);

如果没有参数 ,只需要一个小括号即可,比如:()-> System.Out.Println(“hello”);

微服务可以理解为分布式,但计算的时候是把数据传输到一台机器上计算的,

哪怕这些数据是分散在不同库内,依旧是在一台机器上集中计算。对单机要求很高

把大量数据迁移到服务器上进行统一计算

从Hadoop开始,不仅仅是分布式存储,还是分布式计算(计算是一段逻辑性代码)

传统开发当中逻辑性代码是放在方法里的,如果把方法变成可序列化可网络传输的,

那么就可把方法传入每一台机器上,在数据所在的节点上,针对这台节点上的数据计算

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/743162.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号