展望Java的未来:空值类型
尽管有前途的Java值类型不是迫在眉睫,但我偶尔还是喜欢在OpenJDK valhalla-dev邮件列表中打听一下,以了解事情的进展情况并了解即将发生的事情。 诚然,由于我对所用术语的了解有限,并且其中某些消息的底层细节,使我无法理解某些讨论。 但是,有时我很了解所写的消息和线程并发现有趣。 最近的一个例子是“ 空值类型? ”线程。
RémiForax通过询问“是LW1的空值类型吗?”启动线程。 该问题附带的示例错误消息显示了LinkageError和ClassFormatError ,并显示消息“值类型还不支持零实例大小”。 Tobias Hartmann 对这个问题的回答是:“不, LW1不计划支持空值类型。”
在继续讨论线程的其余部分(这是我最感兴趣的部分)之前,我将快速讨论“ LW1”。 在大卫·西姆斯(David Simms)的同一OpenJDK邮件列表中的消息中,“ [lworld] LW1 –'Minimal LWorld' ”中说,“我们正在以'L Lworld '(LW1)接近某种'可用'的东西”,而“我们将正在将原型制作转移到里程碑式稳定。” 该消息指出“标签”为“ lw1” , affected-version
和fixed-version
均为“ repo-valhalla
”。 换句话说,“ LW1”是用于跟踪与“最小L世界”实现有关的错误和问题的标签。 您可以参考约翰·罗斯(John Rose)在2017年11月19日发布的消息 “ 放弃所有U型,欢迎来到L-world(或者我在伯灵顿学到的东西) ”,以介绍“ L世界”一词及其在价值类型上的含义。 。
返回到“空值类型?” 线程, 柯克·佩珀丁 ( Kirk Pepperdine) 问了一个同样出现在我身上的问题 :“值类型如何为空?” 他补充说:“什么是空整数? 空字符串?” 他说他“很好奇”,而现在我也是。 以下是信息反馈的摘要:
- RémiForax :“ [type]表示缺少值,如unit , void或bottom ”
- 约翰·罗斯(John Rose)提供了 此信息链接 。
- RémiForax :“代表投掷结果的类型”
- RémiForax :“允许将
HashSet<E>
定义为HashMap<E,Empty>
”- Brian Goetz的信息详细说明了此值:“零长度值可能非常有用,只是不能直接使用。
- RémiForax :“类似于标记类型的可转换类型,用于分隔参数”( 请参阅此示例的消息 )
我还喜欢该线程上的最后的Kirk Pepperdine消息(在撰写本文时),他总结说:“感觉就像是null的值类型版本。”
顺便说一句, 在valhalla-dev邮件列表的2018年6月存档中还有一些其他有趣的消息和主题。 这里是其中的一些:
- Karen Kinnears发布了“ Valhalla VM笔记6月6日星期三 ”
- 我不了解这里记录的每个细节,但是很有趣的是看到了一些与潜在功能相关的潜在时间表。
- RémiForax发布了“ Integer vs IntBox基准 ”
- 与
int
和Integer
相比,演示了IntBox
结果(Forax将其描述为“存储int的值类型”),并且IntBox
的结果与int
相当(并且显着优于Integer
)。
- 与
- Sergey Kuksenko发表了“ Valhalla LWorld microbencmarks ”
- 该消息不提供基准测试结果,而是说明“ Valhalla LWorld微基准的初始集合”已放置在“
test/benchmarks
目录下的valhalla存储库中”。
- 该消息不提供基准测试结果,而是说明“ Valhalla LWorld微基准的初始集合”已放置在“
- Mandy Chung发表了“ 库支持,用于为值类型的hashCode / equals / toString生成BSM ”
- 基于约翰·罗斯(John Rose)的“ 值类型哈希码 ”,被描述为“为
hashCode
/equals
/toString
为值类型生成BSM的初始库支持”。
- 基于约翰·罗斯(John Rose)的“ 值类型哈希码 ”,被描述为“为
- 约翰·罗斯(John Rose)发布了“ 固定池期货 ”
我希望有一天能够在我的日常Java代码中应用值类型。 在此之前,思考可能会发生什么,并查看为此付出了多少工作是很有趣的。
翻译自: https://www.javacodegeeks.com/2018/06/java-future-empty-value-types.html
展望Java的未来:空值类型相关推荐
- java char类型空值_展望Java的未来:空值类型
java char类型空值 尽管有前途的Java值类型不是迫在眉睫,但我偶尔还是喜欢在OpenJDK valhalla-dev邮件列表中打听一下,以了解事情的进展情况并了解即将发生的事情. 诚然,由于 ...
- CodeOne 主题演讲:Java,未来已来
在上一次JavaOne大会之后,首届Oracle CodeOne大会最近于美国旧金山举行.周一晚上主旨演讲的头条是"Java:未来已来(The Future of Java Is Today ...
- Java的未来项目:巴拿马,织布机,琥珀和瓦尔哈拉
新闻稿" Oracle Code One Java主题演讲概述了Java的未来 "在Oracle Code"突出未来项目" Valvala 项目,巴拿马 项目, ...
- 专访黄勇:Java在未来的很长一段时间仍是主流
专访黄勇:Java在未来的很长一段时间仍是主流 发表于2015-09-06 13:18| 11640次阅读| 来源CSDN| 70 条评论| 作者钱曙光 社区文旦专访黄勇架构框架JavaJava ...
- Java中,一切皆是对象——java中的对象类型与基本数据类型的区别
起因:取一个list给另一个list赋值,然后在另一个list中取出进行修改.list其中类型为对象时,String时,基本数据类型时. [java中的对象类型与基本数据类型的区别] #声明和实例化 ...
- 《Java8实战》笔记(16):结论以及Java的未来
结论以及Java的未来 回顾Java8的语言特性 行为参数化(Lambda以及方法引用) 流 CompletableFuture Optional 默认方法 Java的未来 集合 类型系统的改进 声明 ...
- java中已定义类型car_Java 8 习惯用语(8):Java 知道您的类型
Java™8 是第一个支持类型推断的 Java 版本,而且它仅对 lambda 表达式支持此功能.在 lambda 表达式中使用类型推断具有强大的作用,它将帮助您做好准备以应对未来的 Java 版本, ...
- java不能对什么类型进行转换_关于java:“不兼容类型:void无法转换为…”是什么意思?...
Java编译消息是什么: "Incompatible types: void cannot be converted to ..." 的意思,以及我该如何解决. 一些编译器使用不同 ...
- java泛型之有界类型
为什么80%的码农都做不了架构师?>>> 在前面的例子中,可以使用任意类替换类型参数.对于大多数情况这很好,但是限制能够传递给类型参数的类型有时是有用的.例如,假设希望创建一个 ...
最新文章
- 26岁应届博士被聘985博导!入职半年实现学院顶会论文零的突破
- 我们是在搞学术,还是被学术搞?
- C#中throw抛出异常后,后续代码执行情况
- 蒟蒻JZZ的犯错汇总
- 6、检查约束(CHECK)
- zoj 3547 The Boss on Mars
- C语言中的匿名结构体
- Qt4 如何使用QHttp实现post和get
- 21.Longest Palindromic Substring(最长回文子串)
- 使用jquery的blockui插件显示弹出层
- 一步步编写操作系统 10 cpu的实模式
- 迭代器模式(Iterator)解析例子
- 现实世界的Windows Azure:采访Gizmox 研发中心的副总裁Itzik Spitzen先生
- 【转】MySQL日期时间函数大全
- 计算流体力学漫谈-1 (可压缩向)
- dotnet OpenXML PPT 动画框架入门
- 蓝底换白底边缘不干净_PS∶红底证件照换成蓝色背景,边缘怎样处理,让照片更自然呢?...
- 前端自学学习笔记——JavaScript
- 虚幻引擎学习之路:动画模块之基础篇
- 大数据处理技术之数据集成
热门文章
- 【并查集】团伙(luogu 1892)
- [NOIP2016 提高组] 天天爱跑步(树上差分)
- HDU5528 - Count a * b
- 2017西安交大ACM小学期 美妙音乐[差分KMP匹配]
- SpringBoot集成Flowable
- Hadoop入门(二十)Mapreduce的最小值程序
- 20级:班级日常分享,一天一瞬间
- sqlserver复习总结
- java实现遍历树形菜单方法——struts.xml实现
- synchronized原理_Java并发编程 -- synchronized保证线程安全的原理