Akka之WordCount with SBT
build.sbt: 点击(此处)折叠或打开 name := "HelloAkkaWithSBT" version := "1.0"scalaVersion := "2.9.2"resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases"...
MasterActor详解
MasterActor作用:1,由ActorContext实例化MapActor、ReduceActor、AggregateActor 2,接收消息,以及消息转发给各个Actor点击(此处)折叠或打开 /** * 管理各个Actor,以及作为消息的入口、进行消息的转发 * */publ...
Akka之WordCount
MasterActor: 点击(此处)折叠或打开 /** * MasterActor管理各个Actor,以及作为消息的入口、进行消息的转发。 * */public class MasterActor extends UntypedActor { p...
Scala的for表达式进阶
for表达式强大而简洁的表现力点击(此处)折叠或打开 case class Person(name: String, isMale: Boolean, children: Person*) object For_Expressive { def main(args: Array[String]) { ...
MySQL锁机制
1.行级锁定(row-level)? ??行级锁定的特点就是锁定对象的颗粒度很小,由于锁定颗粒度很小,发生锁定资源争用的概率也最小,能够给予应用程序尽可能大的并发处理能力。从而提高一些需要高并发应用系统的整体性能。? ? 但是行级锁定也有不少弊端,由于锁定资源的颗粒度很小,所以每次获取...
MySQL锁机制
1.行级锁定(row-level)? ??行级锁定的特点就是锁定对象的颗粒度很小,由于锁定颗粒度很小,发生锁定资源争用的概率也最小,能够给予应用程序尽可能大的并发处理能力。从而提高一些需要高并发应用系统的整体性能。? ? 但是行级锁定也有不少弊端,由于锁定资源的颗粒度很小,所以每次获取...
Scala协变、逆变
协变、逆变对于泛型类C[+T],现在有具体类型A、B,如果B是A的子类,那么C[B]也是C[A]的子类,我们称这个类C支持协变。相反,C[-T]则称之为逆变当我们定义一个协变类型List[A+]时,List[Child]可以是List[Parent]的子类型。当我们定义一个逆变类型List[-A]时,List[Child]可以是List[Parent]的父类型。 点击(此...
Scala中的单例以及链式表达式
object被当做单例,如果有伴生类的话,那它就是该类的伴生对象,可以作为类的公共静态方法和成员区实际上,每一个具体对象,都有单例类型 点击(此处)折叠或打开 object Scala class Java1class JVM { def method1: this.type = this } class JVM_La...
Type与Class
点击(此处)折叠或打开 class Spark trait Hadoopobject Flink //单例class Java{ class Scala}object Type_Advanced { def main(args: Array[String]) {...
Scala界面Pannel、Layout
点击(此处)折叠或打开 object GUI_Panel_Layout extends SimpleSwingApplication{ ????def top = new MainFrame {??????title = "Second GUI"??????val button =...
Scala并发编程
在java中,基于共享数据、加锁的线程模型,使得java并发编程越来越复杂,而在Scala中采用actor模型,不共享数据,依赖消息传递的并发编程模型点击(此处)折叠或打开 object Actor_Message extends Actor { def act() { while(t...
Scala隐式转换与隐式参数
我们有时需要类A具有类B的方法,可以自定义一个隐式转换,将类A转换为类B,在引入这个隐式转换的作用域,使用类A就相当于使用了类B,这样就达到了增强类A功能的目的。类似于装饰模式。 点击(此处)折叠或打开 class RichFile(val file:File){ ???def read = So...
Scala的Abstract Types
点击(此处)折叠或打开 trait Reader{ type In <: java.io.Serializable //限定类型上界 type Contents //抽象类型 def read(in: In): Contents}class FileReader extends Reader {...
Scala的Dependency Injection
点击(此处)折叠或打开 trait Logger { def log (msg : String) }trait Auth { auth : Logger => //self-type限定,使用Auth必须混入logger的实现,达到依赖注入的效果。  ...
Scala的Infix Type与Self Types
Infix Type:中值类型,允许带有两个参数的类型。点击(此处)折叠或打开 object Infix_Types { def main(args: Array[String]) { object Log { def >>:(data:String):Log.t...
Scala结构类型与复合类型解析
定义方法或者表达式时,要求传参具有某种行为,但又不想使用类,或者接口去限制,可以使用结构类型。 点击(此处)折叠或打开 class Structural { def open()=print("A class instance Opened") } object Structural__Type { ...
Scala路径依赖
路径依赖从内部类谈起在java中所有的内部类都属于同一类型(外部类)但是scala中内部类必须依赖外部类的实例,不同的外部类实例,内部类都是不同的。我们把对外部类的依赖称之为路径依赖类型(path_dependent_type) 点击(此处)折叠或打开 class Outer { ...
ClassTag、Manifest、ClassManifest、TypeTag
点击(此处)折叠或打开 def main(args: Array[String]) { //从理论上讲,创建一个泛型Array是不可能的,但是可以借助Manifest实现 //用Manifest[T]的隐式值,保存运行时T的信息,在实...
Scala的泛型
点击(此处)折叠或打开 class Triple[F, S, T](val first: F, val second: S, val third: T) //定义一个泛型类 object Hello_Type_Parameterization { def main(args: Array[String]) { &nbs...
Set、Map、TreeSet、TreeMap
点击(此处)折叠或打开 def main(args: Array[String]) { val data = mutable.Set.empty[Int] //创建空的Set data ++= List(1, 2, 3) //++=添加多于一个元素的集合...