Scala零基础教学【1-20】】的更多相关文章

基于王家林老师的Spark教程——共计111讲的<Scala零基础教学> 计划在9月24日内完成(中秋节假期之内) 目前18号初步学习到25讲,平均每天大约完成15讲,望各位监督. 初步计划: 18号完成40讲 19号完成55讲 20号完成70讲 21号完成85讲 22号完成100讲 23号完成111讲 24号回顾复习 第9讲:Scala的内部类实战详解 Java 内部类属于类的: Scala内部类属于对象的,属于外部实例本身.   第11讲:Scala中的apply实战详解 Object的a…
第90讲:基于Scala的Actor之上的分布式并发消息驱动框架Akka初体验 akka在业界使用非常广泛 spark背后就是由akka驱动的 要写消息驱动的编程模型都首推akka 下面将用30讲讲解akka 本讲主要讲两部分内容: 1.akka的重大意义 2.akka与scala的actor Spark源码中使用akka使用鉴赏: 在spark中有200行左右代码封装了akka的使用 spark是分布式的计算框架,有master和slave主从节点通信时都是使用akka. 客户端提交程序时也是…
第41讲:List继承体系实现内幕和方法操作源码揭秘 def main(args: Array[String]) { /** * List继承体系实现内幕和方法操作源码揭秘 * * List本身是一个抽象类 定义如下: * abstract sealed class List[+A] extends AbstractSeq[A] * with LinearSeq[A] * with Product * with GenericTraversableTemplate[A, List] * with…
第24讲:Scala中SAM转换实战详解 SAM:single abstract method 单个抽象方法   我们想传入一个函数来指明另一个函数具体化的工作细节,但是重复的样板代码很多. 我们不关心它实现了什么接口的什么方法,只关心这个动作.比如下面的按钮点击一次,data就加1,而不关心ActionListener以及其回调方法. 那么就用隐式转换.这个后面会彻底地讲解.   第25讲:Scala中Curring实战详解   柯里化(Currying)是把接受多个参数的函数变换成接受一个单…
第102讲:通过案例解析Akka中的Actor运行机制以及Actor的生命周期 Actor是构建akka程序的核心基石,akka中actor提供了构建可伸缩的,容错的,分布式的应用程序的基本抽象, actor是异步的,非阻塞式的,事件驱动的轻量级的模型, actor中都有自己的成员,也有receive方法,在receive中处理具体的逻辑. actor间沟通只能通过发消息. !发消息是异步的过程,MasterActor只会对自己的邮箱感兴趣,不断循环自己的邮箱, 收到消息后进行处理. 在acto…
第81讲:Scala中List的构造是的类型约束逆变.协变.下界详解 首先复习四个概念——协变.逆变.上界.下界 对于一个带类型参数的类型,比如 List[T]: 如果对A及其子类型B,满足 List[B]也符合 List[A]的子类型,那么就称为covariance(协变): 如果 List[A]是 List[B]的子类型,即与原来的父子关系正相反,则称为contravariance(逆变). 协变: ____ _____________ | | | | | A | | List[ A ] |…
第61讲:Scala中隐式参数与隐式转换的联合使用实战详解及其在Spark中的应用源码解析 第62讲:Scala中上下文界定内幕中的隐式参数与隐式参数的实战详解及其在Spark中的应用源码解析 /** * Scala中上下文界定内幕中的隐式参数与隐式参数的实战详解及其在Spark中的应用源码解析 */ //[T: Ordering] 这种写法 说明存在一个隐式类型Ordering[T] class Pair_Implicits[T: Ordering](val first: T, val sec…
原文:Android零基础入门第20节:CheckBox和RadioButton使用大全 本期先来学习Button的两个子控件,无论是单选还是复选,在实际开发中都是使用的较多的控件,相信通过本期的学习即可轻松掌握. 一.CheckBox CheckBox(复选框)是Android中的复选框,主要有两种状态:选中和未选中.通过isChecked方法来判断是否被选中,当用户单击时可以在这两种状态间进行切换,会触发一个OnCheckedChange事件. 接下来通过一个简单的示例程序来学习CheckB…
val声明的不可变的战略意义:1.函数式编程中要求值不可变,val天然符合这一特性:2.在分布式系统中,一般都要求值不可变,这样才能够要求分布式系统的设计和实现,同时拥有更高的效率,val声明的内容都不可变,所以不用担心在机器之间传递数据的时候修改数据,这为分布式编程打下非常好的基础,包括Spark中的核心抽象RDD也是不可变得: 重要结论:Scala中一切皆对象.Scala中所有类型都是Class Scala的apply方法:是Scala对象构造的工厂方法,由于控制Scala类对象的生成,实际…
原文:Android零基础入门第29节:善用TableLayout表格布局,事半功倍 前面学习了线性布局和相对布局,线性布局虽然方便,但如果遇到控件需要排列整齐的情况就很难达到要求,用相对布局又比较麻烦,为此Android系统中提供了表格布局. 一.认识TableLayout 表格布局就是让控件以表格的形式来排列控件,只要将控件放在单元格中,控件就可以整齐地排列,使用TableLayout标签. TableLayout继承了 LinearLayout,因此它的本质依然是线性布局管理器.每次向Ta…