《Scala程序设计》

《Scala程序设计》 《Scala程序设计》

在线试读

  • 书名:《Scala程序设计》:Java虚拟机多核编程实战
  • 分类:编程
  • 作者:[美]Venkat Subramaniam
  • 出版社:人民邮电出版社
  • 出版年:2010-8
  • 售价:39.00
  • 页码:180

《Scala程序设计》 内容介绍:

Scala是一种针对 JVM 的通用的编程语言,用来以简明、优雅、类型安全的方式表示常见的编程模式。它无缝集成了面向对象语言和函数式语言的特性,可以大大提高JAVA程序员的编程效率。Twitter、SAP等知名企业已经开始在一些应用里使用Scala,很多新的程序员也开始学习它。 本书循序渐进地介绍了Scala的函数式编程基础,虽然篇幅短小,却切中要害。读者可以学会使用Scala静态语言的强大功能创建简洁、可扩展、高度可并行的代码。对于多核时代JVM上的并发编程,Scala是绝好的工具,而本书是你必不可少的向导。

作者[美]Venkat Subramaniam介绍:

Venkat Subramaniam,Agile Developer创办人,培训并指导了美国、加拿大、印度和欧洲多国的上千名软件开发人员,并多次应邀在各种大会上发表演讲。他是《高效程序员的45个习惯:敏捷开发修炼之道》(2007年Jolt大奖作品)的第一作者,还著有.NET Gotchas(O’Reilly)、Programming Groovy(Pragmatic)等书。

《Scala程序设计》 目录大纲:

第1章 简介 1
1.1 为何选择Scala 1
1.2 何为Scala 3
1.3 函数式编程 7
1.4 本书的内容 9
1.5 本书面向的读者 11
1.6 致谢 11
第2章 起步 13
2.1 下载Scala 13
2.2 安装Scala 13
2.2.1 在Windows上安装Scala 14
2.2.2 在类UNIX系统上安装Scala 14
2.3 让Scala跑起来 15
2.4 命令行上的Scala 16
2.5 把Scala代码当作脚本运行 17
2.5.1 在类UNIX系统上作为脚本运行 17
2.5.2 在Windows上作为脚本运行 18
2.6 在IDE里面运行Scala 18
2.7 编译Scala 19
第3章 Scala步入正轨 20
3.1 把Scala当作简洁的Java 20
3.2 Java基本类型对应的Scala类 23
3.3 元组与多重赋值 23
3.4 字符串与多行原始字符串 25
3.5 自适应的默认做法 26
3.6 运算符重载 27
3.7 Scala带给Java程序员的惊奇 29
3.7.1 赋值的结果 29
3.7.2 Scala的== 30
3.7.3 分号是半可选的 31
3.7.4 默认的访问修饰符 32
3.7.5 默认的访问修饰符以及如何修改 32
3.7.6 Scala的Protected 33
3.7.7 细粒度访问控制 34
3.7.8 避免显式return 35
第4章 Scala的类 37
4.1 创建类 37
4.2 定义字段、方法和构造函数 38
4.3 类继承 41
4.4 单例对象 42
4.5 独立对象和伴生对象 43
4.6 Scala中的static 44
第5章 自适应类型 46
5.1 容器和类型推演 47
5.2 Any类型 49
5.3 关于Nothing的更多情况 50
5.4 Option类型 50
5.5 方法返回类型推演 51
5.6 传递变参 52
5.7 参数化类型的可变性 53
第6章 函数值和闭包 57
6.1 从普通函数迈向高阶函数 57
6.2 函数值 58
6.3 具有多参数的函数值 59
6.4 Curry化 61
6.5 重用函数值 62
6.6 参数的位置记法 64
6.7 Execute Around Method模式 65
6.8 偏应用函数 67
6.9 闭包 68
第7章 Trait和类型转换 70
7.1 Trait 70
7.2 选择性混入 72
7.3 以trait进行装饰 74
7.4 Trait方法的延迟绑定 75
7.5 隐式类型转换 77
第8章 使用容器 81
8.1 常见的Scala容器 81
8.2 使用Set 82
8.3 使用Map 83
8.4 使用List 85
8.5 for表达式 90
第9章 模式匹配和正则表达式 93
9.1 匹配字面量和常量 93
9.2 匹配通配符 94
9.3 匹配元组和列表 94
9.4 类型和卫述句的匹配 96
9.5 case表达式里的模式变量和常量 96
9.6 对XML片段进行模式匹配 98
9.7 使用case类进行模式匹配 98
9.8 使用提取器进行匹配 100
9.9 正则表达式 103
9.10 把正则表达式当做提取器 104
第10章 并发编程 106
10.1 促进不变性 106
10.2 使用Actor的并发 107
10.3 消息传递 110
10.4 Actor类 113
10.5 actor方法 115
10.6 receive和receiveWithin方法 117
10.7 react和reactWithin方法 120
10.8 loop和loopWhile 124
10.9 控制线程执行 125
10.10 在各种接收方法中选择 127
第11章 与Java互操作 128
11.1 在Scala里使用Scala类 128
11.2 在Scala里使用Java类 130
11.3 在Java里使用Scala类 132
11.3.1 有普通函数和高阶函数的Scala类 132
11.3.2 同trait一起工作 134
11.3.3 单例对象和伴生对象 134
11.4 继承类 136
第12章 用Scala做单元测试 138
12.1 使用JUnit 138
12.2 使用ScalaTest 139
12.3 以Canary测试开始 140
12.4 使用Runner 140
12.5 Asserts 142
12.6 异常测试 144
12.7 在测试间共享代码 146
12.7.1 用BeforeAndAfter共享代码 146
12.7.2 用闭包共享代码 147
12.8 FunSuite的函数式风格 148
12.9 用JUnit运行ScalaTest 149
第13章 异常处理 152
13.1 异常处理 152
13.2 注意catch顺序 154
第14章 使用Scala 156
14.1 净资产应用实例 156
14.2 获取用户输入 156
14.3 读写文件 157
14.4 XML,作为一等公民 159
14.5 读写XML 161
14.6 从Web获取股票价格 164
14.7 让净资产应用并发 167
14.8 为净资产应用增加GUI 168
附录A Web资源 178


微信扫一扫关注公众号

0 个评论

要评论图书请先登录注册

你也许想看:

SpringBoot 揭秘

《SpringBoot 揭秘》

王福强.机械工业出版社.2016-5

“”

Windows驱动开发技术详解

《Windows驱动开发技术详解》

张帆等.电子工业出版社.2008-1

“本书由浅入深、循序渐进地介绍了Windows驱动程序的开发方法与调试技巧。本书共分23章,内容涵盖了Windows操作系...”

.NET设计规范

《.NET设计规范》

克瓦林纳.人民邮电出版社.2006-7

“本书为框架设计师和广大开发人员设计高质量的软件提供了权威的指南。书中介绍了在设计框架时的最佳实践,提供了自顶向下的规范,...”

跟老齐学Python

《跟老齐学Python》

齐伟 编著.电子工业出版社.2016-2

“《跟老齐学Python:从入门到精通》是面向编程零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步...”

Perl语言编程

《Perl语言编程》

[美] Larry Wall,Tom Christiansen,Jon Orwant.中国电力出版社.2001-12

“这不仅仅是一本关于Perl的书籍,更是一本独一无二的开发者自己介绍该语言及其文化的书籍。Larry Wall是Perl的...”

参数化逻辑构建过程

《参数化逻辑构建过程》

.江苏凤凰科学技术出版社.2015-6

“这是一本可以帮助想进入编程设计领域的设计者学习的手册。从内容上避免了对所有Grasshopper组件的详细解析,而将重点...”

The iOS Apprentice

《The iOS Apprentice》

Matthijs Hollemans.Razeware LLC.2014-12-15

“”

JavaEE开发的颠覆者: Spring Boot实战

《JavaEE开发的颠覆者: Spring Boot实战》

汪云飞.电子工业出版社.2016-3

“在当今Java EE 开发中,Spring 框架是当之无愧的王者。而Spring Boot 是Spring 主推的基于“...”

Is Parallel Programming Hard, And, If So, What Can You Do About It?

《Is Parallel Programming Hard, And, If So, What Can You Do About It?》

Paul E. McKenney..

“The purpose of this book is to help you understand how to pr...”

Appcelerator Titanium Smartphone App Development Cookbook

《Appcelerator Titanium Smartphone App Development Cookbook》

Boydlee Pollentine.Packt Publishing.2011-12

“Appcelerator Titanium Mobile allows developers to realize th...”

Think Python

《Think Python》

Allen B. Downey.O'Reilly Media.2015-12-28

“”

OpenGL 4.0 Shading Language Cookbook

《OpenGL 4.0 Shading Language Cookbook》

David Wolff.Packt Publishing.2011-7-9

“”

Documenting Software Architectures

《Documenting Software Architectures》

Paul Clements,Felix Bachmann,Len Bass,David Garlan,James Ivers.Addison-Wesley Professional.2010-10-15

“"This new edition is brighter, shinier, more complete, more ...”

Writing GNU Emacs Extensions

《Writing GNU Emacs Extensions》

Bob Glickstein.O'Reilly.01 April, 1997

“”

Getting Started with Google Guava

《Getting Started with Google Guava》

Bill Bejeck.Packt Publishing.2013-8-14

“Write more robust code that is easier to read and maintain L...”

Software for Data Analysis

《Software for Data Analysis》

John Chambers.Springer.2008

“"R is nowadays the language used in programming for statisti...”

C++ Primer习题集(第5版)

《C++ Primer习题集(第5版)》

【美】Stanley B. Lippman( 斯坦利 李普曼),【美】Barbara E. Moo (芭芭拉 默) 著,【美】Josee Lajoie(约瑟 拉乔伊 ).电子工业出版社.2015-3-1

“C++ Primer(Fifth Edition)由三位C++大师Stanley B. Lippman、Josée La...”

Spring Batch 批处理框架

《Spring Batch 批处理框架》

刘相.电子工业出版社.2015-2

“本书全面、系统地介绍了批处理框架Spring Batch,通过详尽的实战示例向读者展示了Spring Batch框架对大...”

有趣的二进制

《有趣的二进制》

[ 日] 爱甲健二.人民邮电出版社.2015-10

“《有趣的二进制:软件安全与逆向分析》通过逆向工程,揭开人们熟知的软件背后的机器语言的秘密,并教给读者读懂这些二进制代码的...”

Microsoft.NET框架程序设计

《Microsoft.NET框架程序设计》

Jeffrey Richter.清华大学出版社.2003-11

“《Microsoft.NET框架程序设计》(修订版)是《微软.NET程序员系列》丛书之一,主要介绍如何开发面向Micro...”