写点什么

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

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

关注

评论

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

100天,3个版本,他们让营销AIGC起来了

脑极体

AI

PPT如何制作思维导图?这2个工具轻松制作思维导图!

彭宏豪95

思维导图 PPT 在线白板 办公软件 绘图软件

软件测试/人工智能|如何使用ChatGPT帮我们写自动化测试脚本

霍格沃兹测试开发学社

「支持M1/M2」DBeaverUltimate数据库管理软件下载

iMac小白

App 测试工具大全,收藏这篇就够了

优测云服务平台

外贸推广方式有哪些

九凌网络

2024第十二届成都国际智能驾驶技术展览会

AIOTE智博会

自动驾驶展 智能驾驶展

Adobe Premiere Pro Mac 2023中文破解版

iMac小白

爱莫科技国际前沿 AI 技术与应用闭门研讨会即将启幕

科技热闻

以阿里云全球故障为例,聊聊如何保障 Auth 服务的 SLA

Authing

阿里云 身份认证 事件驱动 Idaas Authing

《实现领域驱动设计》笔记——上下文映射图

快乐非自愿限量之名

架构 框架 领域驱动

全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性

汀丶人工智能

AI大语言模型 语义搜索系统 智能检索 self-rag

每天5分钟复习OpenStack(十)Ceph 架构

快乐非自愿限量之名

云计算 架构 Ceph

直播预告丨大模型+Agents疏通京东金融运营堵点

京东科技开发者

人工智能 AI 大模型

软件测试/测试开发/人工智能丨知识图谱实现精准测试效果

测试人

人工智能 软件测试

软件测试/人工智能|如何使用ChatGPT编写符合PO模式的数据驱动测试框架

霍格沃兹测试开发学社

软件测试/人工智能|使用ChatGPT帮我们查找bug

霍格沃兹测试开发学社

item_search_coupon-优惠券查询API接口提供了哪些功能?

技术冰糖葫芦

API 文档

HDD城市站九城联动,超1500位HarmonyOS开发者积极参与

最新动态

一文详解Vue生命周期

EquatorCoco

Vue 生命周期

Disk Drill for Mac 完美激活版下载

iMac小白

微信多开助手WechatTweak mac中文集成版下载

iMac小白

[WPF]动手写一个简单的消息对话框

不在线第一只蜗牛

WPF 造轮子 消息

OmniOutliner 5 Pro for Mac激活版下载

iMac小白

软件开发王者搭配:80%低代码+20%高代码

互联网工科生

软件开发 低代码 JNPF 高代码

开发电竞游戏直播平台,选择成品系统源码更明智

软件开发-梦幻运营部

最新demo版 | 如何0-1开发支付宝小程序之小程序页面功能介绍(三)

盐焗代码虾

支付宝小程序 支付宝 小程序开发

OpenAI 曾收到 AI 重大突破警告;半独立的 OpenAI 比与微软合并更好丨 RTE 开发者日报 Vol.91

声网

如何做好架构设计,架构设计有章可循吗?

不在线第一只蜗牛

架构 架构设计

Nevercenter CameraBag Photo for Mac(照片滤镜软件) 2024.0.1永久激活版

mac

苹果mac Windows软件 照片滤镜软件 Nevercenter

程序员进阶高管指南,看懂工资最少加5k

伤感汤姆布利柏

程序员 面试 前端 升职加薪

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