写点什么

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

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

关注

评论

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

如何高效搭建资产管理平台?众安科技告诉你答案是图技术

NebulaGraph

图数据库

百图生科AIGP平台发布:提供多种蛋白质生成能力,邀伙伴联手开发“新物种”

硬科技星球

VisBug:助力前端开发的浏览器插件

南城FE

CSS 效率工具 前端 浏览器 插件

面试造火箭?GitHub飙升“2023(Java 岗)面试真题汇总”转载40万

三十而立

Java java面试

任务卷轴模式系统开发NFT技术

薇電13242772558

系统

从GPT-4、文心一言再到Copilot,AIGC卷出新赛道?

引迈信息

微软 AIGC 文心一言 GPT-4

百度安全助力小度智能屏通过中国泰尔实验室适老化技术测试认定

百度安全

智能硬件

永洪BI、瓴羊Quick BI领衔国产BI工具

巷子

【iOS逆向与安全】利用IDAPython插件提高反汇编和逆向工程效率

小陈

安全 逆向 iOS逆向 ios安全 逆向分析

git客户端软件:Sublime Merge 激活版

真大的脸盆

Mac Mac 软件 Git客户端

关于 MyBatis 我总结了 10 种通用的写法

三十而立

Java mybatis

智慧公厕:未来城市的必备设施

光明源智慧厕所

物联网 智慧城市

阿里云高级技术专家林立翔:基于阿里云弹性GPU服务的神龙AI加速引擎,无缝提升AI训练性能

云布道师

阿里云 AI

设计师的魔法:让你的冰冷设备即刻变成迪士尼

鼎道智联

设计 动效设计

龙蜥白皮书精选:敏捷开发场景下的调度器热升级 SDK

OpenAnolis小助手

敏捷开发 sdk 白皮书 调度器 龙蜥社区

解决90%面试问题!GitHub顶级"Java面试手册"了解下八股文天花板

三十而立

Java java面试

经过小折腾,可算是把 Code Coverage API 用上了

HoneyMoose

山东大学-飞桨人工智能教育创新中心正式挂牌,打造区域产教融合新范式

飞桨PaddlePaddle

模型驱动软件开发 打造企业数字化未来

力软低代码开发平台

币安/欧意合约自动跟单软件开发源代码

开发v-hkkf5566

TitanIDE:云原生开发到底强在哪里?

行云创新

ide 云原生 云开发

华为昇思MindSpore开源社区三周年生日会,三大亮点不容错过!

极客天地

ShareSDK iOS端如何实现微信分享链接与登录

MobTech袤博科技

低代码开发:助力企业高效实现数字转型的一大利器

加入高科技仿生人

大数据 低代码 数字化 数字转型

两项大奖加持,浩鲸科技福利小店-WHALE SELECT

鲸品堂

福利 平台 平台搭建 企业号 3 月 PK 榜

MobTech|如何选择应用内广告SDK产品

MobTech袤博科技

就在明天!用友企业数智化财务峰会落地广州,聚焦实现业财合一新价值

用友BIP

黄牛党“屯购”OPPO Find X6 无感验证护航官方商城安全

极客天地

用AI回忆起曾被忘却的语言

白洞计划

AI

游戏版《西部世界》来了!NPC全由AI操控,行动自如有理想和记忆,基于最新GAEA技术系统打造

Openlab_cosmoplat

AI 游戏 开源社区

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