Yezhiwei Blog

平时多流汗,战时少流血!

Scala快速入门-8-特质

知识点 Scala和Java一样不允许类继承多个超类,特质解决这一局限性 类可以实现任意数量的特质 当将多个特质叠加在一起时,顺序很重要,其方法先被执行的特质排在更后面 Scala特质可以提供方法和字段的实现 特质要求实现它们的类具备特定的字段、方法或超类 特质可以同时拥有抽象方法和具体方法,而类可以实现多个特质 当做接口使用的特质 Scala特质完全可以像Java的接口一样,使用关键...

Scala快速入门-7-继承

知识点 继承类 extends 重写方法时必须用override 只有主构造器可以调用超类的主构造器 重写字段 抽象类、字段 扩展类 使用extends关键字 class Employee extends Person {...} 在子类中定义需要的新字段和方法,或者重写超类的方法 可将类声明为final,这样就不有被扩展 可将单个方法或字段声明为final,确保不能被重写 在上...

Scala快速入门-6-单例对象及伴生对象

知识点 用对象作为单例或存放工具方法,Scala没有静态方法或字段 类可以有一个同名的伴生对象 对象的apply方法通常用来构造伴生类的新实例 Scala的main函数定义 单例对象 Scala没有静态方法或字段,可以用object语法定义结构,对象定义了类的单个实例。 对象的构造器在该对象第一次使用时被调用。 不能提供构造器参数。 作为存放工具函数或常量的地方。 高效地共享单个不可变...

Scala快速入门-5-类定义

知识点 每个类都有一个主构造器,这个构造器和类的定义“交织”在一起,它的参数直接成为类的字段,主构造器执行类体中所有的语句 类中的字段自动带getter和setter方法 用@BeanProperty注解生成JavaBean的getXxx/setXxx方法 辅助构造器是可选的,它们都叫做this 类定义 定义及使用 scala> class Counter { | p...

Scala快速入门-4-常用映射和元组操作

知识点 映射是键值对的集合 n个对象(并不一定要相同类型的对象)的集合,元组 映射 构造一个不可变(默认)映射(构造一个不可变的Map[String, Int],其值不能被改变) scala> val scores = Map("Alice" -> 90, "Bob" -> 88) scores: scala.collecti...

Scala快速入门-3-常用数组操作

知识点 长度固定使用Array,长度有变化使用ArrayBuffer 提供初始值时不要使用new 用()来访问元素 for(elem <- arr)遍历元素 for(elem <- arr if ...) yield ...将原数组转为新数组 定长数组 10个整数的数组,所有元素初始为0 scala> val nums = new Array[Int](10) nu...

Scala快速入门-2-控制结构与函数

条件表达式、循环、for、函数

背景 表达式有值,语句执行动作。 Scala中,几乎所有构造出来的语法结构都有值,不像Java中把表达式和语句(if语句)分为两类。 在这里if表示式有值。 代码块也有值,最后一个表达式就是值。 语句中,分号不是必需的。 函数式中不使用return。 条件表达式 在Scala中if/else表达式有值,这个值就是在if或else之后的表达式的值。 scala> var x = ...

Scala快速入门-1-声明变量

声明变量、常用类型

背景 因为Spark是由Scala开发的,所以在开发Spark应用程序之前要对Scala语言学习。虽然Spark也支持Java、Python语言,但是作为一名Java程序猿,还是决定要学习Scala哈。 Scala是运行在JVM上一门语言。开发效率非常高、语法丰富简洁,三两行Scala代码能搞定Java要写的一大坨代码。 Scala的语法糖太甜~~ Scala特性 面向对象特性 Sca...

Hadoop和Spark的异同

解决问题的层面不一样 Hadoop和Spark两者都是大数据框架,但是各自存在的目的不尽相同。 Hadoop实质上是解决大数据大到无法在一台计算机上进行存储、无法在要求的时间内进行处理的问题,是一个分布式数据基础设施。 HDFS,它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,通过将块保存到多个副本上,提供高可靠的文件存储。 MapReduce,通过简单的Mapper...

IntelliJ-IDEA-Maven-Scala-Spark开发环境搭建

背景 几乎所有编程语言的第一个程序都是 Hello World。 下载并安装JDK、Scala、Maven 之前的Hadoop HA 和 Spark集群的文章中已经安装过JDK、Scala。Maven安装也很简单,略。 下载Idea并安装Scala插件 在线安装有点慢,但网上很多方法解决,略。 创建一个maven-scala工程 按向导一步步填写、下一步。 修改pom.xml文...