Effective Scala】的更多相关文章

Effective Scala Marius Eriksen, Twitter Inc.marius@twitter.com (@marius)[translated by hongjiang(@hongjiang)] Table of Contents 序言 格式化: 空格, 命名, Imports, 花括号, 模式匹配, 注释 类型和泛型: 返回类型注解(annotation), 变型, 类型别名, 隐式转换 集合: 层级, 集合的使用, 风格, 性能, Java集合 并发: Future,…
Scala学习资源: Scala官方网站:http://www.scala-lang.org/ Scala github:https://github.com/scala/scala Twitter Effective Scala:http://twitter.github.io/effectivescala/index-cn.html Twitter Scala School:https://github.com/twitter/scala_school Twitter Scala Schoo…
Runnable/Callable 线程 Executors/ExecutorService Futures 线程安全问题 例子:搜索引擎 解决方案 Runnable/Callable Runnable接口只有一个没有返回值的方法. trait Runnable { def run(): Unit } Callable与之类似,除了它有一个返回值 trait Callable[V] { def call(): V } 线程 Scala并发是建立在Java并发模型基础上的. 在Sun JVM上,对…
一 入门 为了增加编程趣味和技能,学习新语言,体会函数式编程和简易的并发管理模型,了解日渐活跃的Spark,尝试下Scala.Scala = Scalable language,作者是Martin Odersky. 1. mac下安装 brew install scala 命令行输入scala  println("hello,scala") 2. Intellij scala plugin http://confluence.jetbrains.com/display/SCA/Gett…
Scala的基本概念 先讲讲Scala里头几个概念Classes, Traits, Objects and Packages. Class和Java中的很像,只不过Scala中Class不能有static members.还有个叫做case的特殊类. Object跟Class也很像,只不过它只能有一个instance,它可以有 static members. Traits跟Java中的Interface很像,不过它可以有concrete members, i.e. method implemen…
优先使用不可变集合.不可变集合适用于大多数情况,让程序易于理解和推断,因为它们是引用透明的( referentially transparent )因此缺省也是线程安全的. 使用可变集合时,明确地引用可变集合的命名空间.不要用使用import scala.collection.mutable._ 然后引用 Set ,应该用下面的方式替代: import scala.collections.mutable val set = mutable.Set() 这样就很明确在使用一个可变集合. 使用集合类…
Scala是基于JVM的一种通用函数式也是面向对象编程语言,能和Java.C#等主流的编程语言无缝融合. 下面给大家推荐一些Scala的学习资料,序号靠前的重要性比较高. 1.Scala初学指南 (1)Twitter Scala课堂 (2)Scala官方文档 Scala入门 (3)Scala之旅 这个网址非常好,对于scala的理解非常有帮助 (4)Learning Scala (5)Effective Scala Twitter的Scala最佳实践.对理解Twitter的代码风格非常有用 (6…
 scala 函数编程  Effective Scala.pdf: http://www.t00y.com/file/76767869 Functional_Programming_in_Scala.pdf: http://www.t00y.com/file/76767879 master.pdf: http://www.t00y.com/file/41315991 Scala for Java Developers.pdf: http://www.t00y.com/file/7676788…
Runnable/Callable 线程(Thread) Executors/ExecutorService Future 线程安全问题 示例:搜索引擎 解决方案 Runnable/Callable Runnable只有一个没有返回值的方法 1 2 3 trait Runnable {   def run(): Unit } Callable的方法和run类似,只不过它有一个返回值 1 2 3 trait Callable[V] {   def call(): V } 线程 Scala的并发是建…
小结: 1.基于java并发模型 Scala concurrency is built on top of the Java concurrency model. 2. 将每个请求放入一个新的线程 The main drawback with this code is that only one request at a time can be answered! You could put each request in a Thread. Simply change (new Handler…