写点什么

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:215181
用户头像

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

关注

评论

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

从头到尾说一次 Spring 事务管理(器) | 京东云技术团队

京东科技开发者

spring spring事务管理 事务管理 企业号 8 月 PK 榜

昨晚做梦面试官问我三色标记算法

Java随想录

Java JVM

优化重复冗余代码的8种方式

java易二三

Java 编程 程序员 计算机

千万级数据深分页查询SQL性能优化实践 | 京东云技术团队

京东科技开发者

MySQL 性能优化 sql 分页查询 企业号 8 月 PK 榜

企业数字化转型,财务规划与分析(FP&A)团队应该如何应对

智达方通

数字化转型 智达方通EPM 财务规划与分析

小灯塔系列-中小企业数字化转型系列研究——BI测评报告

向量智库

科技新秀巅峰决战,百度商业AI技术创新大赛圆满收官

百度Geek说

人工智能 企业号 8 月 PK 榜

数据分析实战│价格预测挑战

TiAmo

数据挖掘 数据分析

2024CITE中国电子信息博览会(电博会)

AIOTE智博会

电子展 深圳电子展 电子信息展 电博会

字节跳动基于DataLeap的DataOps实践

字节跳动数据平台

大数据 数据中台 数据研发 企业号 8 月 PK 榜

ECMAScript 2023新增特性

数新网络官方账号

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v7.0版已发布

JackJiang

网络编程 即时通讯 即时通讯IM

我的心血全在这了,这种方式讲@Async原理,你别再不懂Spring了

java易二三

Java spring 程序员 计算机

“产业应用创新奖2023”启动征集

飞桨PaddlePaddle

人工智能 百度飞桨 文心大模型

全链路压测与普通压测的区别

优测云服务平台

微服务 性能测试 压力测试 全链路追踪 全链路

龙蜥白皮书精选:云原生混部资源隔离技术

OpenAnolis小助手

开源 云原生 白皮书 内核 龙蜥社区

GC面临的困境,JVM是如何解决跨代引用的?

Java随想录

Java JVM

库存预占架构升级方案设计-交易库存中心 | 京东物流技术团队

京东科技开发者

架构设计 库存系统 架构升级 企业号 8 月 PK 榜

当小白遇到FullGC | 京东云技术团队

京东科技开发者

企业号 8 月 PK 榜 Full GC TP99

途牛科技与火山引擎数智平台合作 打造企业大数据系统“降本”新范式

字节跳动数据平台

大数据 云服务 企业号 8 月 PK 榜 数据支持

一次性搞清楚,Java并发编程在各主流框架中的应用,保证看懂

java易二三

Java spring 程序员 计算机

轻松玩转70亿参数大模型!借助Walrus在AWS上部署Llama2

SEAL安全

Seal软件 AI大语言模型 企业号 8 月 PK 榜 Walrus llama-2

一文搞懂MySQL 数据库 MongoDB

java易二三

Java MySQL 数据库 程序员 计算机

带你读论文丨S&P2019 HOLMES Real-time APT Detection

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 8 月 PK 榜

使用秘籍|如何实现图数据库 NebulaGraph 的高效建模、快速导入、性能优化

NebulaGraph

图数据库 NebulaGraph

用友BIP重磅升级,发布新品:用友BIP|商业网络

用友BIP

2023全球商业创新大会

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