你的位置: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体育,别告诉他们!”

发布于:北京市
最新内容
kai云体育app官网版下载官网这便是需要龙虎山护卫龙穴的原因-kai云体育app官方下载app最新版本-kai云体育app官方登录入口
金、木、水、火、土是五行之气kai云体育app官网版下载官网,圆、直、曲、尖、方是五行之形,气在地下拦截易鉴别,形在地上却容易看到,智谋的东谈主通过大地上的"形",就能掌合手对藏于地下的不悦的运用,这是看风水的最基本的原则。 龙穴所处的位置必须有水环绕,何况具备不被风吹袭的步地,穴内的不悦才能冲融。气遭逢土则行,受到水的界阻则住手,被风吹袭则会褪色。安坟之法必须是明堂能聚会四方来水,龙穴能避让八面来风,才能成为所谓的吉地。 第一、不要安葬在所谓的"去水地",不然立即就会家境阑珊。龙穴外面若是有
开云kaiyun.com若你永恒跟进的客户近期传来积极回话-kai云体育app官方下载app最新版本-kai云体育app官方登录入口
2024年已近尾声,不少一又友齐盼着年末能迎来强势好运,为一整年画上圆满句号。12月下旬,3个遮挡福运的吉日行将到来,以下3个生肖若能紧紧把捏机会,近期就业必将顺风顺水、事事如意,蹂躏解锁年末惊喜! 生肖鼠:念念路通透,贵东说念主临门 属鼠的一又友向来心念念活络、头脑敏捷,12月下旬的吉日里,念念维会愈发了了通透,此前纠结许久、百念念不明的难题,很可能在某一刻灵光乍现,蓦地找到破局关键。 这段期间,曾受过你匡助的共事或是一直看好你的父老,会主动向你递来橄榄枝——要么带来优质的新合营信息,要么在
kai云体育app官网版下载官网是以宝宝亦然诞生于北京西单-kai云体育app官方下载app最新版本-kai云体育app官方登录入口
中国盛名易经展望起名大众谢咏起名案例详解(第11篇) ~姓名字中喜用神是什么旨趣 如何找准八字中的用神和忌神,中国盛名易经展望起名大众谢咏起名案例详解(第11篇)姓名字中喜用神是什么旨趣,起名字如何看喜用神和忌用神,如何寻找八字中的用神和喜忌?确信好多准备起名更名字一又友齐相比悭吝“起名字如何看喜用神和忌用神”这个问题,这里谢咏就来和大众谈谈这方面问题,感兴趣兴趣的一又友不错仔细阅读一下,有起名更名的一又友不错找谢咏憨厚来匡助斟酌~ 自古以来,东谈主们就相配喜爱起名,姓名即是东谈主的精气神,精
服务热线
官方网站: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官方登录入口

回到顶部