写点什么

Scala 2.11.0 发布

  • 2014-04-24
  • 本文字数:1026 字

    阅读完需:约 3 分钟

在经过 4 个 RC 版本之后,Scala 2.11.0 正式发布,该版本主要针对 Java 6,并开始试验性支持 Java 8,比如读取 Java 8 字节码、解析 Java 8 源代码。另外,在 2.10.x 系列版本上构建的没有过时警告 Scala 的代码可以在 2.11 平台正常构建。Scala 2.11.0 修复了 2.10.x 中的 613 个 BUG,并在 2.10 系列的基础上做了大幅改进,官方宣称 Scala 2.11 的设计目标是更小、更快、更稳健。

Scala 2.11.0 主要在集合、反射、宏和编译器等方面进行了改进,具体如下:

1. 集合

提高了 Immutable HashMap、HashTable 的 filters、unions、like 方法的执行速度,增加了 LongMap、AnyRefMap 以提升在 Key 为 Long 或者 AnyRef 时的性能,BigDecimal 的 round 操作语义更加明确,并且通过减少不必要的BigInt转换以提升性能。另外 List 的 map、flatMap、collect 性能也得到了提升。

2. 模块化

从 Scala 核心 jar 中拆分出 xml、解析、swing 等模块,这些模块都已经单独提供,另外也对编译器进行了模块化。

3. 反射、宏以及 quasiquotes

请读者参考此文档来了解这部分的变化以及兼容性。

4. 编译器后端

引入新的字节码生成方案 GenBCode ,采用新的方案编译闭包并引入独立的项目 scala.js

5. 编译器优化

增量编译性能得到了明显提升,读者可以升级 sbt 到 0.13.2 版本并添加incOptions := incOptions.value.withNameHashing(true)参数来体验此特性。另外还优化了反射的性能

6. REPL

字节码反编译命令:javap已经支持 Java 7,新加了:kind命令。

7. 改进 -Xlint 警告

新版本的 Scala 会在未使用的 private/local 的 terms 或者类型以及未使用的 imports 时给予警告。

8. 编译器瘦身

移除了.net 编译器后端,重新实现了 Pattern Matcher 的 Bytecode Emitter,还删除了无用的代码。

另外,Scala 2.11.0 对应的 IDE 基于 Eclipse 4.2/4.3(Juno/Kepler) 构建,读者可以参考这篇指南来安装 Eclipse 和 Scala IDE。

相对于 2.10.x,Scala 2.11.0 主要做了一些性能优化、Bug 修复以及过时标记的改进,但对 Java 8 的支持多少有点令人失望,相信 Scala 会在 2.12 系列中增强此部分的功能。读者可以从这里下载最新版本的 Scala。如果不了解 Scala,可以看看由 Scala 的作者亲自录制的视频教程

参考文档:

  1. SCALA 2.11.0 IS NOW AVAILABLE
  2. Hacker News

感谢方腾飞对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-04-24 20:215211
用户头像

发布了 219 篇内容, 共 152.1 次阅读, 收获喜欢 195 次。

关注

评论

发布
暂无评论
发现更多内容

十年跨越,数智创新:《中国数字普惠金融发展报告》正式发布

财见

软通动力旗下PC品牌"机械革命"斩获2024京东金榜新品金奖

财见

探索鸿蒙的蓝牙A2DP与访问API:从学习到实现的开发之旅

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

《计算机组成及汇编语言原理》阅读笔记:p116-p120

codists

计算机组成及汇编语言原理

自学记录HarmonyOS Next DRM API 13:构建安全的数字内容保护系统

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

能效电气充电桩科普大讲堂全面升级!“千城千讲”盛大启航

极客天地

深入了解淘宝天猫API接口:商品详情查询与关键词搜索商品的高效使用指南及代码示例

代码忍者

淘宝API接口 淘宝评论API

Artifacts:Claude 3.5 Sonent 最令人惊叹的用途

Barry的异想世界

Claude Claude 3.5 Sonnet Artifacts

AppsFlyer 发布中国出海应用趋势报告,中国品牌降本增效激发逆势增长

财见

IBM 研究: 越来越多的公司转向开源AI工具以实现投资回报率

财见

自学记录:用HarmonyOS API 13实现VoIP通话功能

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

5分钟搞懂 Golang noCopy策略

俞凡

golang

OpenAI O1模型革新金融研究与交易策略

Barry的异想世界

openai LLM openai o1

设备泄漏检测与修复管理系统(源码+文档+部署+讲解)

深圳亥时科技

项目调度工作平台(源码+文档+部署+讲解)

深圳亥时科技

HarmonyOS Next 模拟器安装与探索

李游Leo

鸿蒙 HarmonyOS NEXT

探索HarmonyOS Next API 13 :Camera API 照相机功能实战

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

工业安全监测审计系统(源码+文档+部署+讲解)

深圳亥时科技

Crawl4AI:您的终极异步网络爬行伴侣 🕷️🤖

Barry的异想世界

爬虫 Crawl4AI

数据要素在金融领域如何应用?

郑州埃文科技

智慧城市 数据要素

龙沙胶囊与健康原料在中国和印度扩大胶囊产能

财见

自学HarmonyOS Next记录:实现相册访问功能

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

C#中:探索Task与CancellationTokenSource的高效协作

代码忍者

阿里云技术公开课:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot

阿里云大数据AI技术

人工智能 大数据 elasticsearch AI搜索

你从未知道的 17 个令人惊叹的 GitHub 仓库

Barry的异想世界

GitHub Open Source

Chatbot 不是“万金油”:企业级生成式 AI 如何真正创造价值

Baihai IDP

程序员 AI chatbot Baihai IDP GenAI

Scala 2.11.0 发布_Scala_小盖_InfoQ精选文章