个人随笔
网站介绍
火龙的爷爷
2116759078@qq.com
一个程序员的学习笔记
网站统计
访问 1065293
趣玩记单词(广告)
网站标签
当前位置:
首页
Scala
Scala学习之路 (十五)Akka-用IDEA+MAVEN构建第一个AKKA程序
一般来说,scala程序可以用sbt也可以用maven,我觉得既然我习惯用maven那就用maven吧,下面用IDEA+MAVEN新建第一个AKKA程序。一、新建一个maven+scala的项目二、maven依赖
Scala
2019-12-24 23:42:40
Scala学习之路 (十四)并发编程模型Akka入门
注:Scala Actor是scala 2.10.x版本及以前版本的Actor。Scala在2.11.x版本中将Akka加入其中,作为其默认的Actor,老版本的Actor已经废弃。写并发程序很难。程序员不得不处理线程、锁和竞态条件等等,这个过程很容易出错,而且会导致程序代码难以阅读、测试和维护。Akka 是 JVM 平台上构建高并发、分布式和容错应用的工具包和运行时。Akka 用 Scal...
Scala
2019-12-24 23:35:54
scala字符串前加s使用$
字符串中的变量替换,Scala中基础的字符串插值就是在字符串前加字幕‘s’,然后在字符串中放入变量,每个变量都应以‘$’开头。字符串前加字母‘s’时,其实是在创建一个处理字符串字面量。val msg = "scala"println(s"收到服务端消息:$msg")或者val host = "127.0.0.1"val port = 8089val config = ConfigFactor...
Scala
2019-12-23 23:43:21
Scala学习之路 (十三)Scala当中的Actor并发编程
注:Scala Actor是scala 2.10.x版本及以前版本的Actor。Scala在2.11.x版本中将Akka加入其中,作为其默认的Actor,老版本的Actor已经废弃。1、什么是Scala ActorScala中的并发编程思想与Java中的并发编程思想完全不一样,Scala中的Actor是一种不共享数据,依赖于消息传递的一种并发编程模式, 避免了死锁、资源争夺等情况。在具体实现...
Scala
2019-12-21 23:39:54
Scala学习之路 (十二)Scala 泛型以及泛型约束
泛型类在类声明时,定义一些泛型类型,然后在类的内部,就可以使用这些泛型类型在需要对类中的某些成员,如字段或方法中的参数进行统一的类型限制时,可以使用泛型类,使得程序具有更好的健壮性和稳定性在使用类的时候,将类型参数替换为实际的类型即可scala会自动推断泛型类型:给泛型类型的字段赋值时,scala会自动对类型进行推断泛型函数与泛型类相似,在声明函数时指定泛型类型,然后在函数体内,多个变量或返...
Scala
2019-12-21 23:12:12
Scala学习之路 (十一)Scala的视图界定
视图界定(view bound):定义为T<%B意味着T可以被隐式转换成B(前提是有隐式转换)。object TestScala {//隐式转换implicit def dToB(d:D) = {new B()}//上届def getCard2[T<%B](s:T):Unit={println("BBB");}def main(args: Array[String
Scala
2019-12-21 23:56:55
Scala学习之路 (十)Scala的上届和下届
在指定泛型类型时,有时需要界定泛型类型的范围,而不是接收任意类型。比如,要求某个泛型类型,必须是某个类的子类,这样在程序中就可以放心的调用父类的方法,程序才能正常的使用与运行。此时,就可以使用上下边界Bounds的特性;Scala的上下边界特性允许泛型类型是某个类的子类,或者是某个类的父类;U >: T这是类型下界的定义,表示下届为T,也就是U必须是类型T的父类(或本身,自己也可以认为是自己...
Scala
2019-12-21 23:42:13
Scala学习之路 (九)Scala的协变和逆变
Scala中协变和逆变主要作用是用来解决参数化类型的泛化问题。由于参数化类型的参数(参数类型)是可变的,当两个参数化类型的参数是继承关系(可泛化),那被参数化的类型是否也可以泛化呢?在Java中这种情况下是不可泛化的,然而Scala提供了三个选择,即协变、逆变和非变,解决了参数化类型的泛化问题。协变和逆变在Scala语言中,协变和逆变到处可见。如List,Queue等属于协变和逆变的一种。协...
Scala
2019-12-20 23:03:47
Scala学习之路 (七)Scala中的柯里化
首先要区分Scala函数与方法的区别,这在Scala中是两个不同概念,只有理解了这两个概念才能理解柯里化。方法scala> def add(x:Int, y: Int) = x + yadd: (x: Int, y: Int)Intscala> add(1, 2)res0: Int = 3函数
Scala
2019-12-16 23:51:53
用Scala模仿SparkContext 的map,filter 算子调用写一个例子
一直觉得Spark的算子调用超级厉害,弄不懂怎么样让传入map的函数作用在一个个值之上的,比如Spark的算子调用模式:rdd.map(word=>(word,1)).reduceByKey((a,b)=>a+b).foreach(println)两年来,我一直搞不明白,为何xxx.map(word=>(word,1))就可以把xxx里面的内容全部都变成map返回。可能是因为做惯了面向对象j...
Scala
2019-12-13 23:10:54
首页
<
1/3
21
>
尾页
有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔
备案号 : 粤ICP备18099399号-2