1.需求:模拟实现YARN(具有注册和心跳的功能)2.实现思路图代码实现:用于存放,相应的ActorSystem,Actor的name//用于存放,相应的ActorSystem,Actor的nameobjectConstant{valRMRS="MyResourceManagerActorSystem"valRMA="MyResourceManagerActor"valNMAS="MyNodeMa
1.ScalaActor(1)相关介绍: Scala中的actor能够实现并行编程的强大功能,他是基于事件模型的并发机制,scala是运用消息(message)的发送、接收来实现多线程的(Java是使用共享内存实现的)。使用Scala能够更容易地实现多线程应用的开发。 一个actor是一个容器,它包含状态,行为,信箱,子actor和监督策略。所有这些包含在一个actorReference(Ac
Scala的泛型 泛型介绍:泛型用于指定方法或类可以接受任意类型参数,参数在实际使用时才被确定,泛型可以有效地增强程序的适用性,使用泛型可以使得类或方法具有更强的通用性。泛型的典型应用场景是集合及集合中的方法参数。 泛型方法:指定方法可以接受任意类型参数。 泛型类:指定类可以接受任意类型参数。例:objectGenericTypeTest01{defmain(args
Scala的函数式编程 Scala的函数式编程的特点 -高阶函数 -闭包 -模式匹配可参考:http://blog.51cto.com/14048416/2337136 -单一赋值 -延迟计算 -类型推导 -尾部调用优化&e
1.典型的模式匹配场景(1)匹配字符串objectTest01{defmain(args:Array[String]):Unit={valarr=Array("aa","bb","cc")//随机获取数组的任意元素valindex=Random.nextInt(3)valvalue=arr(index)//模式匹配valuematch{case"aa"=>println("0")case"b
1.scala的类(1)类的成员classStudent{//使用var定义一个可变的成员变量varage=18//使用val定义一不可变的成员变量valname="zy"//定义一个私有化成员变量(伴生对象仍然可以访问)privatevarid=1001//定义一个私有化成员变量(伴生对象也不可以访问)private[this]valaddress="anhui"//定义一个成员方法defrun
1.集合基础概念 (1)集合的相关介绍 Scala的集合有三大类:序列(seq)、集合(set)、映射(map)所有的集合都扩展自Iterable特质,在Scala中集合有可变和不可变两种类型,可变集合可以在适当的地方被更新或者扩展,这意味着可以修改、添加、移除一个集合的元素,而不可变集合类则永远不会改变,但是仍然可以模拟添加、移除、或者更新操作,但是这些操作下都会返回一个新的集合。immuta
1.数组的介绍 在scala中数组有两种:定长数组和变长数组。 定长数组:由于Array是不可变的,初始化就有了固定的长度,所以不能直接对其元素进行删除操作,也不能多增加元素,只能修改某个位置的元素值,要实现删除可以通过过滤生成新的数组。所以也就没有:add,insert,remove等操作。 变长数组:ArrayBuffer是可变的,本身提供了很多元素的操作,当然包
1.方法方法的返回值类型可以不写,编译器可以自动推断,但是对于递归函数,必须指定返回值类型。例:defsum(x:Int,y:Int):Int={x+y}2.函数例:valadd=(x:Int,y:Int)=>x+y3.函数与方法的区别 (1)函数可以作为参数传递给方法,也就是说函数可以作为方法的参数,在函数式编程中,函数式“头等公民”,它可以像任何其他的数据类型一样传递和操作例:
1.变量的定义注意:在scala中没有static的概念,在object这个关键字修饰的类中所有的方法和属性都是static的。这里的object类叫做伴生类,目前不涉及。例:objectTest01{defmain(args:Array[String]):Unit={//使用val定义的变量是不可变的,相当于java中的final修饰的valv1=1//使用var定义的变量的值是可变的,在sca
前期准备:scala是运行在JVM平台上的,所以安装scala之前需要安装jdk。jdk的安装:https://blog.csdn.net/u012934325/article/details/73441617/1.windows平台的安装(1)scala的环境搭建官网:http://www.scala-lang.org/注意:下载scala-2.11.8.msi后点击下一步就可以了。Scala完
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号