你的位置:kai云体育app官方下载app最新版本-kai云体育app官方登录入口 > 新闻中心 > 开云kaiyun体育“在 Java 中添加类型类-kai云体育app官方下载app最新版本-kai云体育app官方登录入口

开云kaiyun体育“在 Java 中添加类型类-kai云体育app官方下载app最新版本-kai云体育app官方登录入口

新闻中心

作家 | David Cassel 译者 | 幽谷 操办 | Tina 本文起初发布于 THENEWSTACK 博客。 在上个月举行的 JVM 峰会上,Java 谈话架构师 Brian Goetz 在演讲中 量度 了 Java 的昔时发展。 Goetz 探讨的并非 Java 的近况,而是假定的一系列特质——这些特质不是为了编写更好的要津,而是动作一种机制,使谈话更具可成长性和可扩张性。” 简而言之,Goetz 先容了他如何看待 Java 谈话的演变。 Goetz 说,“我花了许多技术筹商其他谈

详情

开云kaiyun体育“在 Java 中添加类型类-kai云体育app官方下载app最新版本-kai云体育app官方登录入口

作家 | David Cassel

译者 | 幽谷

操办 | Tina

本文起初发布于 THENEWSTACK 博客。

在上个月举行的 JVM 峰会上,Java 谈话架构师 Brian Goetz 在演讲中 量度 了 Java 的昔时发展。

Goetz 探讨的并非 Java 的近况,而是假定的一系列特质——这些特质不是为了编写更好的要津,而是动作一种机制,使谈话更具可成长性和可扩张性。”

简而言之,Goetz 先容了他如何看待 Java 谈话的演变。

Goetz 说,“我花了许多技术筹商其他谈话的作念法。咱们认为,对于应该如何鼓励这项职责,咱们当今仍是有了一个荒谬澄莹的意识。”

伸开剩余89%

在 Reddit 上,Goetz 将他的演讲描述为“呈报可能的发展场地”。现时还莫得认竟然 Java 增强提案,他暗意,“这内容上是咱们第一次详备征询这个问题。总要从某个地方入手。”

这是一个绝佳的契机,不仅能见证编程谈话的演变进程,更能窥见推动这些有规划背后的广大形而上学。

1“可成长”谈话的形而上学

在演讲入手时,Goetz 强调,他不是要接洽“规划立即托福的特质”。相悖,他将看一些永远来看“更具启发性的例子”。Goetz 将演讲标题定为“Java 谈话的成长(Growing the Java Language)”是有原因的。Goetz 谨记,1998 年,Sun Microsystems 测度机科学家 Guy Steele 发表过一篇著名的论文(和 演讲),标题是“一门谈话的成长(Growing a Language)”。

Goetz 说,Steele 发出了“一个行动命令,要求谈话想象者将可成长性动作编程谈话想象的中枢维度之一。”

固然许多谈话允许用户通过用户创建的库来扩张“词汇”,但 Steele 指出,要是新词汇看起来与谈话我方的基本“原语”不同,那无疑会增多贫困。Goetz 说,“在许多方面,这篇论文是 Valhalla 技俩标发令枪”——这是一个始于 2014 年的 OpenJDK 技俩,由 Goetz 指挥,旨在孵化新的 Java 谈话特质。

因此,Goetz 思要描述的不是 Java 的新特质,而是一种谈话演变形而上学——在添加 新的 Java 特质 时优先接洽可扩张性——过火完结机制。Goetz 的幻灯片上有这么一句话,“有东谈主会说这太过分了,有东谈主会说这还不够。”

“而咱们等于这么知谈咱们……偶合在中间。”

2在 Java 中引入一个新想法:Witness

那么这个新理念是什么呢?Java 的措施界说接口被称为“活动蓝图”。Goetz 暗意,当今“咱们但愿完结接口的通盘功能——将一组定名活动归入定名连合(named bundle),用于声明某种类型或某组类型(并允许编译器进行类型检查)。“

这里有一个要害的分辩:Java 谈话想象团队但愿它是对于类型的,而不是类型实例。

有一张幻灯片解释说,“咱们思将这种活动窜改到第三方 witness 对象上”。

为此,只需提议增多一个通俗平直的要害字——一个 witness字面量。这么一来:

就造成:

自后,Goetz 向听众解释说,“在 Java 中添加类型类,只需在现存的谈话结构(如接口、字段和措施)上添加相对较少的内容——一个发布 witness 的机制和一个查找 witness 的机制。”

为什么不屈直界说包含通盘所需措施的接口,然后让类完结阿谁接口呢?Goetz 指出,事实诠释这种轮廓方式并不老是灵验,它会让谈话想象者濒临大批辣手的规模情况和“罗网”。。

Goetz 的下一张幻灯片解释说,这是“竟然用错了器具。”

“咱们需要某种与接口相似但又不完全疏通的东西。”Haskell 有类型类(“对类型本人进行轮廓,而不是类型的活动”),而 C# 和 Kotlin 齐在“进行他们我方的一系列探索”。C# 社区建议了访佛的东西:shape 和 extension。

“通盘这些齐是围绕吞并个问题,那等于:如何轮廓类型的活动,而不把它动作类型界说的一部分?”

3发展机遇:潜在的新 Java 特质

Goetz 说,这个思法仍是迭代了许屡次,“咱们仍是将其索要成更适当 Java 的东西,比之前的一些思法更粗略。”

有一张幻灯片说,“这是对于谈话成长的”。Goetz 看到了“可成长性”的巨大后劲,并建议了几个新的潜在特质:

新的数值类,但与“原始类型的运行时活动相同”——比如 16 位浮点数。

数学运算符。Goetz 说,对于 Float16 变量来说,使用轨范的加号“就相等好”,而不是单独的措施。其他谈话仍是尝试了这种所谓的“运算符重载”——把柄触及的变量类型,将象征与多个操作干系起来。Goetz 说,这“在某种进程上是谈话的雷区……许多谈话齐在使用运算符重载时齐碰到了多样不幸性的问题。”

连合抒发式,“用于构建访佛序列的结构”,访佛于 C# 中提供的功能。“在表率层面上,这是一个‘你为什么不屈直……’的问题。但这似乎是一条可行的旅途,不像 Java 7 时间的提议那样不成行。”

创建型抒发式(Creational expression)。在创建数组时,元素的值默许老是“null”或零。要是有一个 witness 不错标明何时存在(和不存在)灵验的“空缺”值会若何?Goetz 说,在 Valhalla 技俩中,在运升沉数组时添加灵验性检查“一直是咱们比拟夷犹的一个特质”,因为他们不思把它添加到 Java 虚构机(VM)中。但“这种措施不错将该特质保留在谈话中,同期又允许特定的类在参与该特质时以是否需要作念非凡的职责为依据。因此,这意味着咱们不错将这种活动放到一个合适的地方,这嗅觉很好。”

新的数值类,但与“原始类型的运行时活动相同”——比如 16 位浮点数。

数学运算符。Goetz 说,对于 Float16 变量来说,使用轨范的加号“就相等好”,而不是单独的措施。其他谈话仍是尝试了这种所谓的“运算符重载”——把柄触及的变量类型,将象征与多个操作干系起来。Goetz 说,这“在某种进程上是谈话的雷区……许多谈话齐在使用运算符重载时齐碰到了多样不幸性的问题。”

连合抒发式,“用于构建访佛序列的结构”,访佛于 C# 中提供的功能。“在表率层面上,这是一个‘你为什么不屈直……’的问题。但这似乎是一条可行的旅途,不像 Java 7 时间的提议那样不成行。”

创建型抒发式(Creational expression)。在创建数组时,元素的值默许老是“null”或零。要是有一个 witness 不错标明何时存在(和不存在)灵验的“空缺”值会若何?Goetz 说,在 Valhalla 技俩中,在运升沉数组时添加灵验性检查“一直是咱们比拟夷犹的一个特质”,因为他们不思把它添加到 Java 虚构机(VM)中。但“这种措施不错将该特质保留在谈话中,同期又允许特定的类在参与该特质时以是否需要作念非凡的职责为依据。因此,这意味着咱们不错将这种活动放到一个合适的地方,这嗅觉很好。”

多功能谈话扩张并非莫得前例。Goetz 提到了两个早期的“使用库扩张谈话特质的著名例子”——foreach 轮回和 try。设立者只需完结 Iterable 类就不错使用 foreach 特质。(Goetz 说,为了完结 Iterable,JDK 的设立者随后“对许多类进行了调动”——其他 Java 设立者也这么作念了。)但最挫折的是,它看起来就像是“内置的”。

Goetz 很欣慰 Java 莫得将该特质死心在少数几个无庸赘述的用例(如列表、映射和连合)中。“我竟然很欣慰有东谈主站起来说,‘不,不,除了少数魔法类以外,其他类或者参与其中竟然很挫折。’”

Goetz 说,他思接续这一传统。

4Java 昔时发展门道图

在演讲完了时,Goetz 说,它不仅展示了 witness 的想法,还勾画出了“如何将其用于四个潜在的特质,而这些特质仍是困扰咱们很长技术了。”

量度昔时,Goetz 笃信,witness 将“使你或者想象出更好、更丰富的特质,让用户不错作念更多事情的特质。最终,咱们将来也许不再需要想象那么多的谈话特质。……从永远来看,但愿咱们或者期骗这少许来构立功能更丰富的通用库和条目活动等。”

“但短期内,咱们不错用它来提供可扩张的谈话特质,包括东谈主们永久以来一直但愿添加的特质。”

Reddit 上有一位驳斥者自后以至开打趣 说,Goetz 的演讲让他们思起了“龙与地下城”中的法术。“总计有那么一个技术,我嗅觉 Brian 马上就要施放魔法飞弹了。”

他自后补充说,“这是一次很好且相等原理原理的演讲。我但愿这些特质或者完结。”但 Goetz 的临了一张幻灯片澄莹地确认了咱们现时所处的位置。“前几张幻灯片中的例子还不是想象,仅仅思法。”

尽管如斯,在 另一条 Reddit 驳斥 中,Goetz 暗意,Java 想象团队当今有一个让他们“感到闲逸”的故事,“是以咱们准备共享它。但请明慧,那仍然是一个故事,还需要 Valhalla 技俩先完成许多事。”

Goetz 的演讲获得了强烈的掌声,随后他入手接管不雅众的发问。首位发问者坦言,他看到了该理念的巨大价值,并称 Goetz 的演讲是“一个荒谬广大的提案,却只需要荒谬小的语法变更”。

Goetz 的复兴?“嘘开云kaiyun体育,别告诉他们!”

发布于:北京市
最新内容
开云kaiyun体育“在 Java 中添加类型类-kai云体育app官方下载app最新版本-kai云体育app官方登录入口
作家 | David Cassel 译者 | 幽谷 操办 | Tina 本文起初发布于 THENEWSTACK 博客。 在上个月举行的 JVM 峰会上,Java 谈话架构师 Brian Goetz 在演讲中 量度 了 Java 的昔时发展。 Goetz 探讨的并非 Java 的近况,而是假定的一系列特质——这些特质不是为了编写更好的要津,而是动作一种机制,使谈话更具可成长性和可扩张性。” 简而言之,Goetz 先容了他如何看待 Java 谈话的演变。 Goetz 说,“我花了许多技术筹商其他谈
开云kaiyun.com“鲸”系列在轻音性能方面阐扬罕见-kai云体育app官方下载app最新版本-kai云体育app官方登录入口
2025年9月17日,松下卫浴在日本门真松下总部进展晓示,但凡购买率性一款“鲸尾强排”机型,即可享受中枢部件翻转水阀的十年免费维修就业。这一举措不仅彰显了松下对居品中枢品性的高度信心,更记号着品牌在智能家居限制的就业应承再上新台阶。 鲸尾强排 强壮·静音·节水三重打破 “鲸”系列智能马桶凭借其独到的鲸尾强排期间,取得了全球浪费者的认同。针对老房、高层等时势无数存在的低水压迂曲,鲸尾强排系统好像通过电力驱动将水管内的存水一次性排出,水压适当力远超国标,保证在多样水压景况下皆可完毕一次性冲净,处理
开云kaiyun官方网站京东健康总收入353亿元-kai云体育app官方下载app最新版本-kai云体育app官方登录入口
本报(chinatimes.net.cn)记者卢晓 北京报谈 “在咱们遥远参加AI智商建筑的过程中,引申解释,医疗AI的价值,毫不是单纯时刻参数的比拼,而是要融入临床场景、惩办本体问题。”9月25日,京东健康CEO金恩林在京东人人科技探索者大会(下称“JDD大会”)时分对《中原时报》等媒体记者这么说谈。 今日,京东健康晓谕京医千询医疗大模子2.0版块升级,并推出全新的“AI病院1.0”。在这背后,跟着人人AI高涨掀翻,AI正在重构各个产业的供应链,大模子与产业间的深度交融也正加快落地,而高质料
服务热线
官方网站:www.nojokefood.com
工作时间:周一至周六(09:00-18:00)
联系我们
QQ:22479359681
邮箱:fd87d44a@outlook.com
地址:新闻中心科技园6156号
关注公众号

Powered by kai云体育app官方下载app最新版本-kai云体育app官方登录入口 RSS地图 HTML地图


kai云体育app官方下载app最新版本-kai云体育app官方登录入口-开云kaiyun体育“在 Java 中添加类型类-kai云体育app官方下载app最新版本-kai云体育app官方登录入口

回到顶部