随笔分类 - Scala
摘要:添加需要的maven依赖 Actor (线程) Actor信息传递 Actor信息互传 AkkA 信息发送 服务端和客户端交互程序 Message.scala ServerAKKA.scala ClientAKKA.scala 定时任务
阅读全文
摘要:修饰控制符 抽象类 枚举类 特质 像抽象类, 可以有抽象成员和非抽象成员 像java接口, 可以多重继承, 第一个继承使用extends之后的使用with隔开 当多个特质拥有相同名的方法时, 默认调用最右边的特质的方法 需要调用多个特质的相同方法, 使用super调用父类的方式来实现链式调用
阅读全文
摘要:函数作为值传递 匿名函数 高阶函数 (参数为函数的函数) 参数 实例 闭包 函数的变量不在其作用域内被调用,就是闭包的概念 柯理化
阅读全文
摘要:泛型 泛型类 [T] 泛型函数 [T] 泛型边界 [T : 子类] : 指明下界,表达了泛型的类型必须是"某种类型"或某种类型的"父类" scala def main(args: Array[String]): Unit = { up "C2" // 报错! 超出上边界 // up(new C1)
阅读全文
摘要:单例:希望某个类只存在一个使用的对象,而不管有多少个调用者在使用它,就是单例的概念。
阅读全文
摘要:要求: 伴生类和伴生对象要在 同一个.scala文件 并且 名字相同 Java的静态成员和非静态成员都写在一个类里. 而scala静态成员需要写写在伴生对象里面. 伴生类需要用 new 来创建,而伴生对象不用new. 使用伴生对象创建伴生类的实例需要定义apply()方法
阅读全文
摘要:Lazy特性 当val被声明为lazy时,它的初始化将被推迟,直到我们首次对它使用时才初始化。 1. Lazy编译时不会初始化变量,所有异常也只有使用时才能发现,如:文件不存在的异常。 2. 节省不必要的资源加载,适用使用可能性不大的资源定义。
阅读全文
摘要:scala def 方法 def 方法名(参数): 返回类型 = {方法体} 方法创建方式 默认参数 可变长参数
阅读全文
摘要:循环 while 略 for break scala import scala.util.control.Breaks._ breakable { for (i
阅读全文
摘要:输入 格式化输出 输出到文件 读取文件 scala import scala.io.Source val inPutFile = Source.fromFile("D:\\大数据技\\Spark_scala\\scala\\data\\readData.txt") val textIter = in
阅读全文
摘要: 数组 定长数组 变长数组 符号使用 方法使用 多维数组 方法 数组合并 map reduce length updated filter sum max min distinct reverse count sort zip mkString toXxx flatten flatMap grou
阅读全文
摘要:默认情况下,如果在一个算子函数中使用到了某个外部的变量,那么这个变量的值会被拷贝到每个task中。此时每个task只能操作自己的那份变量副本。如果多个task想要共享某个变量,那么这种方式是做不到的。 Spark为此提供了两种共享变量,一种是Broadcast Variable(广播变量),另一种是
阅读全文
摘要:1、都是基于JVM虚拟机运行的 Scala编译之后的文件也是.class,都要转换为字节码,然后运行在JVM虚拟机之上。 2、Scala和Java相互调用 在Scala中可以直接调用Java的代码,同时在Java中也可以直接调用Scala的代码 数据类型
阅读全文