写点什么

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

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

关注

评论

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

商用解决方案助力产业链实现自循环 OpenHarmony技术大会硬件(南向)生态分论坛圆满落幕

科技热闻

UUID意想不到的block

FunTester

什么是大模型?一文读懂大模型的基本概念

九章云极DataCanvas

利用预训练模型优化大模型训练

百度开发者中心

深度学习 大模型 #人工智能

挖掘潜力 拥抱挑战 第二届OpenHarmony技术大会OS内核及视窗分论坛召开

科技热闻

扒一扒互联网Markdown的那些事儿

Java研究者

互联网 markdown 发展趋势

倒计时丨3天后,我们直播间见!

RestCloud

零代码

极致性能优化:前端SSR渲染利器Qwik.js | 京东云技术团队

京东科技开发者

性能优化 前端 前端性能 企业号11月PK榜 Qwik.js

助力工业数字化!TDengine 与恩菲 MIM+ 工业互联网平台实现兼容性互认

TDengine

tdengine 时序数据库

云工作流 CloudFlow 重磅发布,流程式开发让云上应用构建更简单

Serverless Devs

阿里云 Serverless 函数计算FC

Mac电脑商业数学软件:MATLAB R2023a Mac版 附安装教程 支持M1

彩云

mac数学计算 MATLAB R2023a

Util 应用框架快速入门(一)- 创建示例数据库

何镇汐

后端 开源框架

助力应用创新提升开发效率聚焦OpenHarmony技术大会开发者工具分论坛

科技热闻

大家都在用的数据安全运维管理系统是哪家?有什么功能?

行云管家

数字化 数据安全 数据运维

Golang面试题从浅入深高频必刷「2023版」

王中阳Go

Go golang 面试题 大厂面经 最新面试题

专业终端SSH工具 SecureCRT注册码正式版

胖墩儿不胖y

Mac软件 终端SSH仿真工具 终端仿真器

Java 利用JUC CountDownLatch 线程池Executors 实现多线程操作

javaNice

Java 多线程

过去60年145项全球开源系统杰出成果颁布,百度飞桨登榜!

飞桨PaddlePaddle

深度学习 paddle 飞桨

你的停机真的优雅么?第二弹来袭 | 京东云技术团队

京东科技开发者

定时任务 数据一致性 企业号11月PK榜 停机

图像处理软件Photoshop 2024 (ps) for Mac v25.1

展初云

Mac ps Mac软件 Photoshop 2024

如何使用 Loadgen 来简化 HTTP API 请求的集成测试

极限实验室

集成测试 loadgen 极限科技

线上JAVA应用平稳运行一段时间后出现JVM崩溃问题 | 京东云技术团队

京东科技开发者

Java 定时任务 JVM 企业号11月PK榜

微前端无界机制浅析 | 京东物流技术团队

京东科技开发者

前端 源码剖析 微前端 无界 企业号11月PK榜

12月9-10日·上海线下·CSM认证周末班【提前报名特惠】“敏捷教练必修课”CST导师亲授

ShineScrum

Paste for Mac剪切板管理工具

展初云

Mac Mac软件 剪切板

Eudic欧路词典 for Mac英语学习工具

展初云

Mac 欧路词典 英语学习软件

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