写点什么

Go 1.4 Beta 1 发布,12 月发布正式版本

  • 2014-11-06
  • 本文字数:981 字

    阅读完需:约 3 分钟

Go 语言是由 Google 开发的一个开源项目,目的之一是为了提高开发人员的编程效率。近日,在 Go 1.3.3 发布一个月之后,Go 官方宣布 Go 1.4 Beta 1 版本发布。此版本在支持向后兼容的前提下重点多编译器和运行时进行了改进,并实现了不同架构处理器的支持等。值得关注的改进内容如下:

1、运行时

对运行时做了重大的改进,如垃圾收集器、并发处理、接口管理、maps 方法、slices 方法、字符串等使用 Go 语言进行了重写(原来大部分使用 C 语言编写),使得垃圾收集器可以扫描运行时的程序栈,以获得变量的精确信息,从而提高了垃圾收集器的精确性。垃圾收集器的精确性得到了提高,将不会存在非活跃引用对象而不被垃圾回收的情况了,从而减少了堆的大小(相对上一版本减少了 10%-30%)。程序栈不再进行分割,剔除了“hot split”问题,在不影响性能的情况下,连续栈的使用减少了栈的初始化大小,已从 8192 字节减少到了 2048 字节。另外,还修复了 1.3 版本中无效指针引起的运行时崩溃问题。

2、操作系统和服务器架构

支持运行 Android 系统的 ARM 处理器;支持运行 Plan9 系统的 AMD64 处理器;支持 Native Client (NaCl) ARM 处理器。

3、标准 lib

修复了 bufio.Scanner 包中 SplitFunc 方法的生成空 token 的 Bug;新的 go.sys 包替代了 syscall 包;重写了 encoding.gob 包,剔除了不安全的操作;net.http 包中的 Request 新增了 BasicAuth 方法;compress 包新增了 Reset 方法。另外,还对 crypto.tls、reflect、runtime 等包进行了改进。

除了以上主要的改进外,该版本还包括新增了用来生成构建时的源代码的“go generate”命令、为 Go 命令引入了定义“内部”包的新机制、对汇编语言实现的功能进行了优化等一些改进措施。

目前,该版本已提供下载。更多关于Go 1.4 Beta 1 版本的更新内容请查看其发行说明。另外,根据Go 的版本发布计划路线图,Go 1.4 最终版本计划于今年12 月1 日发布;Go 1.5 计划于2015 年6 月份发布,旨在减少垃圾收集器的延迟,从而使得Go 语言更加能够满足广大用户对响应时间要求比较高的系统;Go 1.6 计划于2015 年12 月发布,该版本将会加入指针碰撞分配和分代复制收集技术。


感谢郭蕾对本文的审校。

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

2014-11-06 01:582191
用户头像

发布了 92 篇内容, 共 47.5 次阅读, 收获喜欢 5 次。

关注

评论

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

记一次由Arthas引起的Metaspace OOM问题

闲鱼技术

Java 阿里巴巴

Mybatis【8】-- Mybatis返回List或者Map以及模糊查询怎么搞?

秦怀杂货店

Java mybatis

开一个世界末日的脑洞

熊斌

我的世界 生活记录 七日更

explicit_defaults_for_timestamp 参数详解

Simon

MySQL 七日更

JustSwap交易所系统APP开发|JustSwap交易所软件开发

系统开发

LeetCode题解:42. 接雨水,双指针,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

区块链发展的3个必经阶段究竟是什么

CECBC

去中心化

架构师训练营第五周课后作业

万有引力

星环科技助力商业银行机器学习平台建设

星环科技

FinTech

Angel推荐算法在游戏推荐中的应用

DataFunTalk

学习

领域驱动设计DDD

积极&丧

附PPT丨如何构建数据库容器化PaaS

dbaplus社群

数据库 容器

Android开发全套学习!不同层级的Android开发者的不同行为,学习路线+知识点梳理

欢喜学安卓

android 程序员 面试 移动开发

附PPT丨广东移动智慧中台能力运营实践

dbaplus社群

中台 中台战略

字节跳动开源云原生机器学习平台 Klever

字节跳动技术团队

学习 字节跳动

一直在云上的星空联盟,“真”上云了

亚马逊云科技 (Amazon Web Services)

云计算 AWS

《爱奇艺安全应急响应中心漏洞评分标准2021》来了

爱奇艺技术产品团队

安全 安全漏洞

架构师入门感悟之十

笑春风

毕业三年,如何达到月薪30K?我想跟你聊聊!!

冰河

程序员 程序人生 架构师 升职加薪 提升自我

如何使用数据仓库?

数据社

数据仓库 七日更

反垄断之下 区块链迎来新生?

CECBC

区块链

Lambda【1】-- List相关Lambda表达式使用(上篇)

秦怀杂货店

Java Lambda

第五周作业

胡益

Github标星5.3K,网易云的朋友给我这份339页的Android面经,附赠课程+题库

欢喜学安卓

android 程序员 面试 移动开发

Mybatis【9】-- Mybatis占位符#{}和拼接符${}有什么区别?

秦怀杂货店

mybatis 预编译

设计模式【1】-- 单例模式到底几种写法?

秦怀杂货店

设计模式

“区块链+”产业生态雏形已现 安全监管逐步完善

CECBC

区块链 区块链生态

字节跳动自研「BVC2.0」视频编码器在 MSU 2020 中获得四项第一

字节跳动技术团队

字节跳动 视频编码

Mybatis【7】-- Mybatis如何知道增删改是否成功执行?

秦怀杂货店

Java mybatis

爱奇艺用户分析平台实践:TB级数据查询秒级返回

dbaplus社群

大数据

安卓开发快速学习!一个小例子彻底搞懂Android的MVP模式到底是什么?面试必问

欢喜学安卓

android 程序员 面试 移动开发

Go 1.4 Beta 1发布,12月发布正式版本_语言 & 开发_李士窑_InfoQ精选文章