scala

  • Scala UTF-8方式读取属性文件,支持克隆

    Scala UTF-8方式读取属性文件,支持克隆 2015-05-07

    /** Xiaohei's Devlopment Stdio */ package com.ldg.util import java.util.concurrent.ConcurrentHashMap import scala.io.Source import com.typesafe.config.ConfigFactory /** * @author 李代崗 * @version 2015/05/04 22:23:41 * * Scala UTF-8方式读取属性文件,支持克隆 */ clas

    关键词: utf 8, scala, 克隆, 读取属性文件
  • Scala匹配模式---Case 类匹配

    Scala匹配模式---Case 类匹配 2015-05-07

    让我们来尝试一次深度匹配,在我们的模式匹配中检查对象的内容. //code-examples/Rounding/match-deep-script.scala case class Person(name: String, age:Int) val alice = new Person("Alice",25) val bob = new Person("Bob",32) val charlie = newPerson("Charlie", 32)

    关键词: scala
  • Scala实现REST操作

    Scala实现REST操作 2015-05-04

    // Compile in sbt // Run in sbt>run get https://raw.githubusercontent.com/nraychaudhuri/scalainaction/master/ chap02/breakable.scala // // The command line in sbt is // >run (post | get | delete | options) -d <request parameters comma separated -

    关键词: scala, Rest
  • Scala函数声明与定义

    Scala函数声明与定义 2015-04-09

    语法: Dcl ::= „def‟ FunDcl FunDcl ::= FunSig : Type Def ::= „def‟ FunDef FunDef ::= FunSig [„:‟ Type] „=‟ Expr FunSig ::= id [FunTypeParamClause] ParamClauses FunTypeParamClause ::= „[‟ TypeParam {„,‟ TypeParam} „]‟ ParamClauses ::= {ParamClauses} [[nl

    关键词: scala
  • Scala非值类型详解

    Scala非值类型详解 2015-04-09

    以下类型并不表示值的集合,也并不显式地出现在程序中.它们只以已定义标识符的内部类型而引入. 方法类型 方法类型在内部表示为(Ts)U,(Ts)是一个类型序列(T1,...,Tn) n>=0,U是一个(值或者方法)类型.这个类型表示一个命名的方法,其参数的类型是T1,...,Tn,返回结果的类型是U. 方法类型是右结合的,(Ts1)(Ts2)U被处理的方式是(Ts1)((Ts2)U). 一个特例是没有参数的方法类型.可以写为=>T的形式.无参数方法名称表达式将会在每次名称被引用时求值. 方法类型

    关键词: scala
  • Scala类型详解

    Scala类型详解 2015-04-02

    语法: Type ::= InfixType „=>‟ Type | „(‟[„=>‟ Type] „)‟ „=>‟ Type | InfixType [ExistentialClause] ExistentialClause ::= „forSome‟ „{„ ExistentialDc { semi ExistentialDcl} „}‟ ExistentialDcl ::= „type‟ TypeDcl | „val‟ ValDcl InfixType ::= CompoundTy

    关键词: scala
  • 深入理解Scala 标识符,命名和域

    深入理解Scala 标识符,命名和域 2015-04-01

    在Scala中,命名用来表示类型,值,方法以及类,这些统称为实体.命名在局部定义与声明,继承,import子句,package子句中存在,这些可以统称为绑定. 绑定有优先级,定义(局部或继承)有最高的优先级,然后是显式import,然后是通配符import,然后是包成员,是最低的优先级. 有两种不同的命名空间,一个是类型,一个是术语.同样的命名可以表示类型或术语,这要看命名应用所在的上下文. 绑定有一个域,在此域中用单一命名定义的实体可以用一个简单名称来访问.域可以嵌套.内部域中的绑定将会遮盖同

    关键词: scala
  • A cheat sheet for Scala's DSL-friendly features(速查表)

    A cheat sheet for Scala's DSL-friendly features(速查表) 2015-03-24

    DSLs IN ACTION书中的附录: A cheat sheet for Scala's DSL-friendly features Scala的DSL特色代码速查表 DSL-friendly features of Scala Scala is an object-functional language that runs on the JVM. It has great interoperability with Java by virtue of having the same obj

    关键词: scala, DSL-friendly
  • Scala类型 11: Upper Bounds & Lower Bounds

    Scala类型 11: Upper Bounds & Lower Bounds 2015-03-24

    类型变量界定: Uper Bound(上界): Java泛型中,对于类型 T' 是类型 T 的子类型的描述为: < T' extends T > <* 或用通配符形式 *> < ? extends T > 注:此处extends 并不是一个动词-Java中继承:可以理解为描述性词汇,T'为T 的子类. Scala中,引入操作符'<: ': [ T' <: T ] <* 或用通配符形式 *> [ _ <: T ] 适用场景:泛型对象作为数据提

    关键词: scala, bounds, Upper, Lower
  • Scala类型 10 :交集类型(intersection type)与联合类型(union type)

    Scala类型 10 :交集类型(intersection type)与联合类型(union type) 2015-03-24

    交集类型(compound type): Scala中,复合类型(compound type)既交集类型.表达形式: X with Y with Z... 联合类型(union type): 联合类型的表现形式应该为: X or Y or Z... 在Scala中没有语法形式的支持union type:但可以通过一些技巧实现. StackOverflow上有两种实现方式. 通过隐式转换(上下文界定): class StringOrInt[T] object StringOrInt { impli

    关键词: scala, intersection, union, type
  • Scala类型 9:自身类型 & this别名

    Scala类型 9:自身类型 & this别名 2015-03-24

    自身类型(self type): 格式:this: T => trait A { this: Exception => } this也可替换为self或其它不是关键字的别名. 指定可以混入的类的超类.这个特质只能混入给定类型的子类中. 注:特质extends一个类时,可以保证其混入的类都是该类的子类:而特质指定自身类型时,可以保证它只能混入该类的子类. class A {this: Exception => } class中的自身类型让类抽象了-该类在实例化时必须满足Exception:

    关键词: scala, this关键字, 自身类型
  • Scala类型 8:type 关键字

    Scala类型 8:type 关键字 2015-03-24

    在Scala中,除了class.trait.object 会产生类型,还可以用type关键字声明类型. type 声明别名(alias)(通常用于声明复杂类型或定义一个抽象类型): scala> type S = String defined type alias S 声明复杂类型 (如:声明一个结果类型): type T = Serializable { type U; def foo(): Unit } U是一个抽象类型.T类型的具体实例,如下: scala> object A exten

    关键词: scala, type关键字
  • Scala类型 6:复合类型 & with关键字

    Scala类型 6:复合类型 & with关键字 2015-03-24

    with 关键字: class A extends B with C with D with E 解读方式: class A extends (B with C with D with E) (B with C with D with E)首先是一个整体,再由 A 去继承. 注:对于Java中的菱形继承问题:Scala的解决策略是: 1. 继承class混入trait:(extends SuperClass with subClass|subTrait with - ) 必须是一个继承链(左->

    关键词: scala, 复合类型, with关键字
  • Scala类型 5: 结构类型

    Scala类型 5: 结构类型 2015-03-24

    结构类型(Structural Type) 所谓"结构类型",指的是一组关于抽象方法.字段.类型的规格说明. 结构类型为静态语言增加了部分动态特性,使得参数类型不再拘泥某个已命名的类型.只要参数中包含结构中声明的方法或值即可. 举例来说,Java里的接口Closeable(只有一个抽象方法close())-对所有定义了close方法的抽象:我们就可以Closeable类型约束参数.在Scala中,可以不要求参数必须继承或者实现Closeable,只要包含close方法: def fre

    关键词: scala, 结构类型
  • Play FrameWork 2.0 Scala学习笔记

    Play FrameWork 2.0 Scala学习笔记 2015-03-11

    //Play FrameWork 2.0 Scala requst --> routes -->Controller -->Action -->Result -->Html play中的大多数请求都是有一个Action来处理的,当请求一个事件时,会由Routes规则进行匹配,交给相应的Controller, Controller找到指定的Action,进行处理,并返回一个Result类型包含response体渲染页面 创建一个Action方法如: def index = Ac

    关键词: scala, play2
  • scala基础篇-文件和正则

    scala基础篇-文件和正则 2015-02-27

    学习函数语言的一大好处就是可以随手使用它做一些快捷的事情,比如读取文件内容. 文件操作 文件的读取 使用scala读取文件的方式,较之java简单了许多: import scala.io.Source val source = Source.fromFile("test.txt", "UTF-8") val lines = source.getLines() for(l <- lines) { println(l) //输出一行 } val contents

    关键词: scala
  • scala基础篇-stackoverflow

    scala基础篇-stackoverflow 2015-02-26

    1. 类的属性(字段)和方法是否可以同名? no. Scala为类的定义准备了两个命名空间,而Java有四个,分别是字段.方法.类型.包.Scala的两个命名空间是: 值(字段,方法,包还 有单例对象) 类型(类和特质名)

    关键词: scala
  • Why does Scala not provide any static modifier?

    Why does Scala not provide any static modifier? 2015-02-23

    Scala doesn't provide any static modifier, and that has to do with the design goal of building a pure object-oriented language where every value is an object, every operation is a method call, and every variable is a member of some object. Having sta

    关键词: jvm, scala
  • Scala basic from "Scala in Action"

    Scala basic from "Scala in Action" 2015-02-23

    basic type scala> val x: Int = 1 x: Int = 1 scala> val decimal = 11235 decimal: Int = 11235 scala> val decimal1 = 112345L decimal1: Long = 112345 scala> val hexa = 0x23 hexa: Int = 35 scala> val octa = 023 <console>:1: error: Decimal

    关键词: scala, functional
  • scala基础篇-数组和映射

    scala基础篇-数组和映射 2015-02-22

    定长数组 val n = new Array[Int](10) //初始化 val s = new Array[String](10) //初始化 val a = Array("hello", "world") //Array[String] val b = Array(1,2) //Array[Int] val c = Array(1,2,"a","b") //Array[Any] 变长数组 import scala.col

    关键词: scala
  • scala基础篇-控制结构和函数

    scala基础篇-控制结构和函数 2015-02-21

    条件表达式 scala> if(x>1)"positive" else -1 循环 while(n>0){ } for(i <- 0 to 10){ println(i) } for(i <- 0 until s.length){ //i的最后一个值是s.length-1 println(i) } for(i <- 表达式)语法结构表示让变量遍历右边表达式的所有值. 函数 def max(x: Int, y: Int): Int = { if (x

    关键词: scala
  • scala基础篇-getting started

    scala基础篇-getting started 2015-02-21

    REPL, read evaluate print loop. scala>:load MyModule.scala scala>MyModule.abs(-42) object MyModule { def main(args: Array[String]): Unit = { println("Hello World.") } def abs(n: Int): Int = { n } } 以.scala为后缀的文件,要么定义object要么定义class.object也

    关键词: scala
  • Scala 获取一个url的内容存到本地文件

    Scala 获取一个url的内容存到本地文件 2015-02-05

    1, 下载有效url的内容 /** * 获取一个有效的url地址的内容存到本地的本件中 * @param url * @param file */ def downloadUrlFile(url: String, file: String) = { val pw = new PrintWriter(file) pw.write(Source.fromURL(url, "utf-8").mkString) }

    关键词: printwriter, scala, source
  • Scala 把一个二进制的串转换成十进制数据输出

    Scala 把一个二进制的串转换成十进制数据输出 2015-02-05

    1, 非递归实现 /** * 把输入的二进制数字转换成十进制返回(非递归实现) * @param src 例如: "1111" * @return */ def binaryToDecWithOutRecur(src: String): Int = { if(!src.matches("[0|1]*")){ println("invalid input") return 0 } val tmp = src.reverse var res: Int

    关键词: scala, 二进制, 十进制, 尾递归, 线性递归
  • Scala foldLeft 方法实现自定义的 reverse 方法

    Scala foldLeft 方法实现自定义的 reverse 方法 2015-02-04

    1, 常规实现: scala> val list = List(1,2,3,4,5) list: List[Int] = List(1, 2, 3, 4, 5) scala> list.foldLeft(List.empty[Int])((res, cur) => cur::res) res0: List[Int] = List(5, 4, 3, 2, 1) 2, 加上泛型: scala> val list = List(1,2,3,4,5) list: List[Int] = L

    关键词: scala, reverse, foldLeft
  • 012.现场.快用Scala(2周)

    012.现场.快用Scala(2周) 2015-02-02

    012.现场.快用Scala(2周) 不等不靠,有囧有料.终日乾乾,或跃在渊. "快用scala"第1期:第1周做储备,第2周写代码. 前面还有个第0周:调研和决策,投票100%通过. @史荣久 / 2015-01-21 / CC-BY-SA-3.0 观看视频 优酷视频(被转720P) 腾讯视频(被转720P) 百度网盘(原始1080P) 内容摘要 开发环境:eclipse,idea,maven的设置和排错 数据访问:anorm,jdbc,原态SQL更简洁,高效 Java结合:Spri

    关键词: jdbc, scala, maven, Java, spring, 快用
  • Scala 除去List中的重复元素

    Scala 除去List中的重复元素 2015-01-21

    1, 最简单直接办法是用distinct scala> val l = List(1,2,3,3,4,4,5,5,6,6,6,8,9) l: List[Int] = List(1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 8, 9) scala> l.distinct res32: List[Int] = List(1, 2, 3, 4, 5, 6, 8, 9) 2, toSet scala> l.toSet.toList res33: List[Int] = Lis

    关键词: scala, list去重
  • Scala 统计字符串中单词出现的次数

    Scala 统计字符串中单词出现的次数 2015-01-21

    /** * 统计字符串中单词出现的次数 * @param str */ def countWords(str: String) = { var map = Map.empty[String, Int] for(word <- str.split("[,:!]")){ if(map.contains(word)) map += (word -> (map(word)+1)) else map += (word -> 1) } map } def main(args: A

    关键词: map, scala
  • Scala 实现列表中奇数求和

    Scala 实现列表中奇数求和 2015-01-20

    1, 用flatMap 来实现 scala> val oddSum = (x: Int) => if(x%2!=0) Some(x) else None oddSum: Int => Option[Int] = <function1> scala> List(1,2,3,4,5,6).flatMap(x=>oddSum(x)) res39: List[Int] = List(1, 3, 5) scala> List(1,2,3,4,5,6).flatMap(

    关键词: partition, scala, filter, foldLeft, flatMap
  • ScalaMP ---- 模仿 OpenMp 的一个简单并行计算框架

    ScalaMP ---- 模仿 OpenMp 的一个简单并行计算框架 2015-01-18

    1.前言 这个项目是一次课程作业,老师要求写一个并行计算框架,本人本身对openmp比较熟,加上又是scala 的爱好者,所以想了许久,终于想到了用scala来实现一个类似openmp的一个简单的并行计算框架. 项目github地址:ScalaMp 2.框架简介 该并行计算框架是受openmp启发,以scala语言实现的一个模仿openmp基本功能的简单并行计算框架, 该框架的设计目标是,让用户可以只需关心并行的操作的实现而无需考虑线程的创建和管理.本框架实现了最 基本的并行代码块和并行循环两个

    关键词: scala, openmp, akka, 并行计算框架
  • Spark初探

    Spark初探 2015-01-12

    认识Spark Apache Spark is an open source cluster computing system that aims to make data analytics fast - both fast to run and fast to write. Spark是一个开源的分布式计算系统,它的目的是使得数据分析更快--写起来和运行起来都很快. Spark 是基于内存计算的大数据并行计算框架.Spark 基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容

    关键词: scala, Spark
  • Mac OS X下安装Scala

    Mac OS X下安装Scala 2015-01-04

    一.Scala简介 Scala是Scalable Language的缩写,它是一种混合型的函数式编程语言.Martin Odersky于2003年发布了Scala的第一个版本.下面是Scala的一些关键特性: (1)拥有基于事件的并发模型: (2)既支持命令式风格,也支持函数式风格: (3)纯面向对象: (4)可以很好的与Java混合使用: (5)强制使用自适应的静态类型: (6)简洁并且富有表现力: (7)高度可扩展,可以使用更少的代码创建高性能的应用. 目前比较火的一个开源的大规模数据计算框

    关键词: scala, MAC
  • Scala极速入门

    Scala极速入门 2015-01-04

    定义 Scala语言是一种面向对象语言,同时又结合了命令式(imperative)和函数式(functional)编程风格.官网描述:Object-Oriented Meets Functional(面向对象遇到函数式编程). 安装 下载地址http://www.scala-lang.org/download/ 当前版本2.11.4 设置环境变量 export SCALA_HOME=/home/mupeng/Hadoop/scala-2.11.4 export PATH=$SCALA_HOME/

    关键词: scala, 入门
  • 分分钟掌握快速排序(Java / Scala 实现)

    分分钟掌握快速排序(Java / Scala 实现) 2014-12-30

    今天我们来学习一种不浪费空间.效率还非常高的排序算法--快速排序. 算法思想 快速排序的基本思想--分治法. 1. 选取基准数(pivot):选数组中的第一个或者中间一个. 2. 分区:将数组中比基准数小的放的左边,比基准数大的放到右边. 3. 递归:对左右分区重复1.2操作. 过程描述 有这样一个数组arr,长度为11. 13, 34, 23, 8, 12, 17, 12, 42, 4, 9, 19 1) 以第一个数13为基数.我们指定两个变量i(i=0).j(j=10)分别指向数组两端.我们

    关键词: scala, quicksort, Java, 快速排序, 分治法
  • 搭建hadoop/spark集群环境

    搭建hadoop/spark集群环境 2014-12-25

    hadoop2.5.2的安装可以参照 http://blog.csdn.net/greensurfer/article/details/39450369 jdk下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html hadoop下载地址 http://mirrors.cnnic.cn/apache/hadoop/common/ 这篇文章中没有说配置环境的事,我在这里简单说一下

    关键词: scala, hadoop, Spark
  • Scala和Java的互操作有点坑

    Scala和Java的互操作有点坑 2014-12-23

    Scala的一大卖点就是与Java的"互操作性"(SEAMLESS JAVA INTEROP),今天就遇到一个小坑.println数组数据的时候,会输出数组地址,Java里面用Arrays.asList(),比如: import java.util.Arrays; /** * Created by magicalli on 2014/12/23. */ public class ArrayTest { public static String[] strs = new String[]

    关键词: array, scala, Java, 互操作性
  • 酷炫的一行代码 - Scala就是这么任性!

    酷炫的一行代码 - Scala就是这么任性! 2014-12-08

    1. 过滤出序列中所有偶数 filter方法会将序列中各个元素依次替换到下划线"_"所处位置,如果返回true,则保留该元素. (1 to 9).filter( _ % 2 == 0 ) 输出:2, 4, 6, 8 2. 对序列中所有元素求和 reduceLeft是一个通用的聚集计算方法,你可以把"+"换成其它的运算.其实对于求和有更简单的方法,请参考第6条. (1 to 9).reduceLeft(_ + _) 输出:45 3. 统计单词出现次数 groupBy方

    关键词: scala, 代码, code, 一行, 单行, 任性
  • [Play-Scala-2.2.1] 接收jQuery Post的原始字符串请求

    [Play-Scala-2.2.1] 接收jQuery Post的原始字符串请求 2014-11-20

    1. 客户端jQuery代码 页面上负责发送Post请求的jQuery代码如下: $.ajax({ type: "POST", url: "/receive", data: $("#data").val(), contentType: "text/plain", processData: false, success: function(res){ $("#mess").text(res); } }); 这

    关键词: scala, post, Play
  • Spark入门

    Spark入门 2014-11-05

    为公司培训课程准备的资料,拿出来分享了. 完整PPT 点击我 ,动手实验 try. 预览如下:

    关键词: scala, hadoop, mapreduce, 大数据, Spark
  • Scala编程入门一

    Scala编程入门一 2014-11-04

    Scala程序可以以解释器的方式进行执行,但是它实际上并不是一个解释器.实际发生的是,输入的内容被快速地编译成字节码,然后字节码交给Java虚拟机执行,所以你可以称它为REPL Windows上Scala的开发环境搭建如百度经验所示:http://jingyan.baidu.com/article/5552ef471a1cd2518ffbc925.html 执行 scala>8 * 5 + 2 结果为 res0: Int =42 答案被命名为res0,你可以在后续操作中使用这个名称: scala

    关键词: scala
  • Scala开发环境配置

    Scala开发环境配置 2014-11-01

    Scala语言的潜力不亚于groovy,其语法可以说比python还要新,以至于有些人因此难以接受该语法.Scala是一门函数式.命令式的面向对象的基于JVM的编程语言,可以在控制台或者终端直接执行,语法相当简练.屈指.Scala语言目前在国内不是很流行,但好比如国外Google一些老大,像Android系统等,已经使用Scala一段时间了.下面分三步来说明Scala的开发环境的搭配. 配置系统环境变量 在Windows平台下,直接在官网下载msi安装文件即可,安装前提是系统中已经安装了JDK,

    关键词: jvm, scala
  • XML 文件解析--标签内容长度限制问题

    XML 文件解析--标签内容长度限制问题 2014-10-20

    近期在解析XML的时候遇到了些问题,第一个就是上一篇中说到的Unicode字符的问题,第二个就是标签内容长度太长(超过6k字符)造成解析错误. 比如,要解析的XML文件内容如下,其中desc标签的内容长度很长(超过6000个字符), <book> <id>101</id> <name> Java </name> <author> simpsons lisa </author> <desc> ... apple

    关键词: xml, parser, scala
  • XML 文件解析--含Unicode字符的XML文件

    XML 文件解析--含Unicode字符的XML文件 2014-10-20

    在最近的工作中需要使用XML文件做数据存储,由于此XML文件的内容是不同的数据来源的数据,在解析XML文件时,遇到几处相似的异常:无效的XML字符 (Unicode: 0x9e). (Unicode: 0x8b). Exception in thread "main" org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 180; 在文档的元素内容中找到无效的 XML 字符 (Unicode: 0x9e). at co

    关键词: xml, scala, unicode
  • Spray参数转化

    Spray参数转化 2014-09-19

    最近用spray做点东西,刚开始入门,把doc大概过了一遍,最灵活的要数它的routing-DSL了.当然由于scala强大的特性,很多不同于Java的东西,源码看起来还是相当费劲的,尤其是对于我这种scala使用没多久的新手. 今天碰到的问题是如何把参数转化成想要的类型,比如?age=25&birth=1988-01-23,能接收为Int和Date参数.很快在文档里找到了方法,如下写法: case class Color(red: Int, green: Int, blue: Int) val

    关键词: dsl, scala, Routing, implicit, spray
  • Scala Structural Typing结构类型

    Scala Structural Typing结构类型 2014-09-15

    鸭子类型:"当看到一只鸟走起来像鸭子.游泳起来像鸭子.叫起来也像鸭子,那么这只鸟就可以被称为鸭子." 一般在动态语言里面才有,因为静态语言是强类型的,会在编译期检查类型,很难实现.但是Scala作为一门static type语言,居然支持,不得不说Scala确实很强大.直接上code package testscala object StructuralTyping extends App { def quacker(duck: {def quack(value: String): S

    关键词: scala, type, duck, structural
  • JVM原生不支持尾递归优化,但是Scala编译器支持

    JVM原生不支持尾递归优化,但是Scala编译器支持 2014-08-29

    The JVM doesn't support TCO natively, so tail recursive methods will need to rely on the Scala compiler performing the optimization.----------"Scala in Depth" 3.5.2 Jvm本身是不支持尾递归优化得,需要编译器支持,而Java编译器不支持,但是Scala支持.写一个简单的计算1到n的和的递归算法验证一下. public cla

    关键词: scala, tco, Java, 尾递归, 尾递归优化
  • scala笔记和akka笔记

    scala笔记和akka笔记 2014-07-14

    非阻塞的程序 应该保障的一些特性 : 等待无关性wait-free:能确保每次的调用在有限的步数之内完成,不管其他调用的步骤有多少.杀掉几个线程 锁无关性lock-free:执行这段程序的某些线程会被延迟,但必须确保至少有一个线程能持续步骤到执行完毕.这一点需防止可能出现的饿死,就是说防止某个线程永远被延迟. 阻碍阻塞无关性obstruction-free:有个时间点,在这个点之后非阻塞方法独立的在有限次步骤内执行完毕 锁无关的程序一定是阻碍无关的,反之不一定. 乐观并行控制法是障碍阻塞无关的,

    关键词: scala, akka
  • Akka的Actor编程

    Akka的Actor编程 2014-07-04

    ActorSystem("companyname") 相当于注册一家公司一样,负责: 通用配置 如:dispatchers, deployments, remote capabilities and addresses 创建Actor和搜索actor 通常一个应用一个Actorsystem ActorRef actOf会异步的启动一个Actor,并返回这个Actor的ActorRef,作为消息目的地,ActorRef的特征: immutable 与Actor是一对一关系 可序列化和网络

    关键词: scala, akka, Java, 并发, Actor, Parallel
  • scala之Akka的Actor模型

    scala之Akka的Actor模型 2014-07-04

    明确并行和并发 看两张图 并行parallelism 并发concurrency 关键点在于 多个任务之间 有没有 交流和交互的! 交流: 共享内存(Lock 信号量) 消息驱动 交互:竞争 一段顺序的相同代码 同时 多份 运行 并行,并行不悖!!!多条车道 而当把这段顺序的代码再分成几个独立的执行小段,对各个小段可以同时执行,并产生交流时 并发 一条道上 多辆车 可以超车 多线程是并行的,但不一定是并发的,如果没有交互 没有对共享变量的操做,根本无需考虑所谓并发的问题 参考 http://wa

    关键词: scala, akka, 并发, 并行, Actor
  • scala构建工具sbt simple build tool

    scala构建工具sbt simple build tool 2014-07-03

    新建sbt项目 sbt没有新建project生成基本目录的功能 没有类似 sbt init的功能 sbt支持的目录结构,可以手动创建,这不费什么事,也可采用从其他标准sbt项目拷贝 . |-- build.sbt 主构建文件 |-lib 第三方jar包 |-project 下有另一个可编程的Build.scala构建文件可实现高级复杂功能 |-- src | |-- main | | |-- java | | |-- resources | | |-- scala | |-- test | |-

    关键词: scala, sbt, 构建, 依赖管理

iOS 开发

Android 开发

Python 开发

JAVA 开发

开发语言

PHP 开发

Ruby 开发

搜索

前端开发

数据库

开发工具

开放平台

Javascript 开发

.NET 开发

云计算

服务器

Copyright (C) codeweblog.com, All Rights Reserved.

CodeWeblog.com 版权所有 闽ICP备15018612号

processed in 0.089 (s). 11 q(s)