Scala程序设计(Java虚拟机多核编程实战).pdfVIP

Scala程序设计(Java虚拟机多核编程实战).pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Scala

程序设计

Java虚拟机多核编程实战

目录

第1章简介

第2章起步

第3章Scala步入正轨

第4章Scala的类

第5章自适应类型

第6章函数值和闭包

第7章Trait和类型转换

第8章使用容器

第9章模式匹和正则表达式

第10章并发编程

第H章与Java互操作

第12章用Scala做单元测试

第13章异常处理

第14章使用Scala

第1章简介

可以在JVM上编程的语言有很多。通过这本书,我希望让你相信花时间学习Scala是值得

的。

Scala语言为并发、表达性和可扩展性而设计。这门语言及其程序库可以让你专注于问题

领域,而无需深陷于诸如线程和同步之类的底层基础结构细节。

如今硬件已经越来越便宜,越来越强大。很多用户的机器都装了多个处理器,每个处理器

又都是多核。虽然迄今为止,Java对我们来说还不错,但它并不是为了利用我们如今手

头的这些资源而设计的。而Scala可以让你运用这些资源,创建高响应的、可扩展的、高

性能的应用。

本章,我们会快速浏览一下函数式编程和Scala的益处,为你展现Scala的魅力。在本书

的其他部分,你将学会如何运用Scala,利用这些益处。

1.1为何选择Scala

Scala是适合你的语言吗?

Scala是一门混合了函数式和面向对象的语言。用Scala创建多线程应用时,你会倾向于

函数式编程风格,用不变状态(immulablestate)①编写无锁(lock-free)代码。

Scala提供一个基于actor的消息传递(message-passing)模型,消除了涉及并发的痛

苦问题。运用这个模型,你可以写出简洁的多线程代码,而无需顾虑线程间的数据竞争,

以及处理加锁和释放带来的梦魇。把synchronized这个关键字从你的字典中清除,享受

Scala带来的高效生产力吧。

①对一旦创建出来,就不再改变其内容,这样的对就是不变的。这也就无需顾虑多线

程访问对时的竞争管理。Java的Siring就是不变对一个非常好的例子。

然而,Scala的益处并不仅限于多线程应用。你可以用它构建出强大而简洁的单线程应用,

或是多线程应用中的单线程模块。你很快就可以用上Scala的强大能力,包括自适应静态

类型、闭包、不变的容器以及优雅的模式匹配。

Scala对于函数式编程的支持让你可以写出简洁而有表现力的代码。感谢更高层的抽,

它让我们可以用更少的代码做更多的事情。单线程应用和多线程应用都可以从函数式风格

中受益o

函数式编程语言也为数不少。比如,Erlang就是一个很好的函数式编程语言。实际上,

Scala的并发模型同Erlang的非常相似。然而,同Erlang相比,Scala有两个显著的优

势。第一,Scala是强类型的,而Erlang不是。第二,不同于Erlang,Scala运行于JVM

之上,可以与Java很好地互操作。

就运用在企业级应用的不同层面而言,Scala这两个特性使其成为了首选。只要你愿意,

就可以用Scala构建整个企业级应用,或者,也可以把它和其他语言分别用在不同的层上。

如果有些层在你的应用中至关重要,你就可以用上Scala的强类型、极佳的并发模型和强

大的模式匹配能力。下图的灵感源自OlaBini的语言金字塔(参见附录A的“Fractal

Programming),它展现了Scala在企业级应用中与其他语言的配合。

Domain-SpecificLanguagesImplementedUsingScala.Groovy,Ruby,...

ManageIntensiveMetaprogramming

ConcurrencyPatternMatching/000DynamicLangslike

文档评论(0)

zhuifengshaonian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档