本篇文章主要让大家理解什么是Scala的反射, 以及反射的分类, 反射的一些术语概念和一些简单的反射例子. 什么是反射 我们知道, Scala是基于JVM的语言, Scala编译器会将Scala代码编译成JVM字节码, 编译过程中会擦除Scala特有的一些类型信息, 这就叫类型擦除(type era ...
分类:
其他好文 时间:
2018-08-24 16:07:07
阅读次数:
146
遍历集合的方法 1.用foreach循环遍历一个集合 foreach接收一个函数作为参数。定义的函数应该接收一个元素作为输入参数,然后不要返回任何的东西。输入的参数的类型应该匹配集合中的类型。随着foreach的执行,它每次都会把一个元素传给你的函数,直到集合中最后一个元素。 foreach常用的就 ...
分类:
其他好文 时间:
2018-08-23 22:16:22
阅读次数:
231
1,rdd的转换和行动操作 2,创建rdd的2种方式 1,通过hdfs支持的文件系统,没有真正把数据放rdd,只记录了一下元数据 2,通过scala的集合或者数组并行化的创建rdd 3,rdd的5大特点 1,rdd是分区的,可以指定分区数 2,算子的方法都会作用在每个分区 3,rdd之前有一系列的依 ...
分类:
其他好文 时间:
2018-08-18 21:13:41
阅读次数:
163
1. List 转 Seq: 2. Seq 转 List: ...
分类:
编程语言 时间:
2018-07-25 19:07:43
阅读次数:
189
Scala的类层级 Scala里,每个类都继承自通用的名为 的超类。 因为所有的类都是Any的子类,所以定义在Any中的方法就是“共同的”方法:它们可以被任何对象调用。 Scala还在层级的底端定义了一些类,如 和`Nothing`,扮演通用的子类。 即,Any是所有其他类的超类,Nothing是所 ...
分类:
其他好文 时间:
2018-07-25 14:31:36
阅读次数:
134
高阶函数 概念 Scala混合了面向对象和函数式的特性,我们通常将可以作为参数传递到方法中的表达式叫做函数。在函数式编程语言中,函数是“头等公民”,高阶函数包含:作为值的函数、匿名函数、闭包、柯里化等等。 作为值的函数 可以像任何其他数据类型一样被传递和操作的函数,每当你想要给算法传入具体动作时这个 ...
分类:
其他好文 时间:
2018-07-18 01:11:55
阅读次数:
223
由于Spark是用Scala来写的,所以Spark对Scala肯定是原生态支持的,因此这里以Scala为主来介绍Spark环境的搭建,主要包括四个步骤,分别是:JDK的安装,Scala的安装,Spark的安装,Hadoop的下载和配置。为了突出”From Scratch”的特点(都是标题没选好的缘故 ...
链式调用在很多框架和系统中经常存在,算不得上是我自己总结的设计模式,此处只是简单介绍在Akka中的两种实现方式。我在这边博客中简化了链式调用的场景,简化后也更符合Akka的设计哲学。 输出: 上面这一种实现方式跟akka没有太大关系,是用scala的trait实现的。在类中调用多个Trait中都有的 ...
分类:
其他好文 时间:
2018-07-13 15:13:13
阅读次数:
148
前提: 当用到scala的sortWith,发现: def sortWith(lt: (A, A) ? Boolean): List[A] // A为列表元素类型 根据指定比较函数lt进行排序,且排序是稳定的, 最终实质上是调用 java.util.Arrays.sort进行排序的。 eg: Lis ...
分类:
编程语言 时间:
2018-07-05 23:25:02
阅读次数:
156
三. Scala的Macro(宏) Scala Macros对scala函数库编程人员来说是一项不可或缺的编程工具,可以通过它来解决一些用普通编程或者类层次编程(type level programming)都无法解决的问题,这是因为Scala Macros可以直接对程序进行修改。 说到对程序进行修 ...
分类:
其他好文 时间:
2018-07-02 01:19:44
阅读次数:
154