scala
文章平均质量分 79
-Heres-
他每做一件小事的时候,都像救命稻草一样抓着。有一天我一看,嚯,好家伙!他抱着的是已经让我仰望的参天大树了。
展开
-
akka之RPC通信1
一、akka简介Akka基于Actor模型,提供了一个用于构建可扩展的(Scalable)、弹性的(Resilient)、快速响应的(Responsive)应用程序的平台。Actor模型:在计算机科学领域,Actor模型是一个并行计算(Concurrent Computation)模型,它把actor作为并行计算的基本元素来对待:为响应一个接收到的消息,一个actor能够自己做出一原创 2017-06-14 22:28:51 · 740 阅读 · 0 评论 -
scala的类与对象
一、类的定义//在Scala中,类并不用声明为public。//Scala源文件中可以包含多个类,所有这些类都具有公有可见性。class Person { //用val修饰的变量是只读属性,有getter但没有setter //(相当与Java中用final修饰的变量) val id = "9527" //用var修饰的变量既有getter又有setter var a原创 2017-07-09 22:36:41 · 1239 阅读 · 0 评论 -
scala的数组、映射、元组和集合
一、数组1.1定义数组scala> val arr = new Array[Int](10)arr: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)scala> arr(0)=1scala> arr(1)=2scala>val arr1 = Array(1,2,3,4)arr1:Array[Int] = Array(1,2,...原创 2017-05-24 22:32:35 · 1343 阅读 · 0 评论 -
scala之函数编程进阶
函数式编程进阶: * 1.函数和变量一样作为Scala语言的一等公民,函数可以直接赋值给变量; * 2.函数更常用的方式是匿名函数,定义的时候只需要输入参数的类型和函数体即可,但是如果你要使用的话,一般会把这个 * 匿名函数赋值给以一个变量(其实val常量) * 3.函数可以作为参数直接传递给函数,这极大地简化了编程语法,为什么这样说呢?原因是: * 第一:以前java的方式是原创 2017-08-02 22:59:58 · 396 阅读 · 0 评论 -
scala之继承
1. 父类一般都是抽象的,但是有时候,一些框架也会把父类作为具体的类,但是本质还是抽象的,只不过他把父类的方法写成“空实现”,这样做的好处,可以什么都不写,整个程序就可以运行。如果父类有抽象的方法,就必须手动复写这个方法,整个程序才能运行。2. 抽象类和父类会封装共同的方法,子类都可以复用父类的方法(大多数,权限问题),这是代码复用。3. 类继承的时候会继承它原创 2017-08-02 21:24:23 · 834 阅读 · 0 评论 -
scala中的方法与函数
package com.heres.scalaobject HelloScala { val func = (x: Int) => x*3 //另一种定义函数的方法 val startService: Int => Int = { num => num+1 } val func2:(Int,Double) => (Double,Int) = { (x,原创 2017-05-22 22:52:38 · 732 阅读 · 0 评论 -
scala的隐式转化
一、前言学过java我们都知道,java中的继承是对类的增强,java中的代理、装饰是对对象方法的增强。而在scala中,隐式转换和隐式参数是Scala中两个非常强大的功能,隐式的对类的方法进行增强,丰富现有类库的功能 。利用隐式转换和隐式参数,你可以提供优雅的类库,对类库的使用者隐匿掉那些枯燥乏味的细节。而所谓的隐式转化函数,是指那种以implicit关键字声明的带有单个参数的函数。下面原创 2017-07-09 14:25:51 · 678 阅读 · 0 评论 -
Scala控制结构
package com.heres.scala/** * 1.Scala中基本控制结构,顺序、条件、循环。这和其它的JVM语言是一致的,但是Scala也有些 * 高级的流程控制结构,例如:模式匹配; * 2.这这里我们主要if 、for、while等三种控制结构及其企业级最佳实践,并且在最后用Spark源码说明。 */object Contros { def main(args原创 2017-07-17 23:05:23 · 650 阅读 · 0 评论 -
scala之高阶函数
一、概念Scala混合了面向对象和函数式的特性,我们通常将可以做为参数传递到方法中的表达式叫做函数。在函数式编程语言中,函数是“头等公民”,高阶函数包含:作为值的函数、匿名函数、闭包、柯里化等等。二、作为值的函数可以像任何其他数据类型一样被传递和操作的函数,每当你想要给算法传入具体动作时这个特性就会变得非常有用。原创 2017-06-24 21:22:16 · 452 阅读 · 0 评论 -
scala的模式匹配和样例类
Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句、类型检查等。并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配。一、字符串匹配import scala.util.Randomobject CaseDemo01 extends App{ val arr = Array("YoshizawaAkiho", "YuiHatano",转载 2017-06-09 11:12:02 · 4193 阅读 · 0 评论 -
scala之actor编程
一、什么是actor1.1概念Scala中的Actor能够实现并行编程的强大功能,它是基于事件模型的并发机制,Scala是运用消息(message)的发送、接收来实现多线程的。使用Scala能够更容易地实现多线程应用的开发。详细的Actor原理可以参考博客:https://www.iteblog.com/archives/1154.html1.2传统java并发编程与Scala原创 2017-06-11 11:18:18 · 777 阅读 · 0 评论 -
用AKKA实现简单的RPC通信模型2
上一篇文章,简单地用AKKA实现了RPC通信,这篇文章在之前的基础之上,进行了更多地关于RPC通信的操作,包括传一些相关数据,包括心跳机制等具体功能如下图:代码结构:WorkerInfo.scala代码package cn.heres.rpc/** * Created by vinsuan on 2017/6/15 0015. */class Work原创 2017-06-16 22:07:20 · 1020 阅读 · 0 评论 -
scala 解释器中的:paste 多行输入和代码换行输入
一、:paste代码块输入1.:paste2.粘贴代码2.ctrl+D二、代码换行输入把命令输完(正确),shift+enter原创 2018-03-24 17:23:11 · 5688 阅读 · 0 评论