展望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-versionfixed-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基准 ”
    • intInteger相比,演示了IntBox结果(Forax将其描述为“存储int的值类型”),并且IntBox的结果与int相当(并且显着优于Integer )。
  • Sergey Kuksenko发表了“ Valhalla LWorld microbencmarks ”
    • 该消息不提供基准测试结果,而是说明“ Valhalla LWorld微基准的初始集合”已放置在“ test/benchmarks目录下的valhalla存储库中”。
  • Mandy Chung发表了“ 库支持,用于为值类型的hashCode / equals / toString生成BSM ”
    • 基于约翰·罗斯(John Rose)的“ 值类型哈希码 ”,被描述为“为hashCode / equals / toString为值类型生成BSM的初始库支持”。
  • 约翰·罗斯(John Rose)发布了“ 固定池期货 ”

我希望有一天能够在我的日常Java代码中应用值类型。 在此之前,思考可能会发生什么,并查看为此付出了多少工作是很有趣的。

翻译自: https://www.javacodegeeks.com/2018/06/java-future-empty-value-types.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345978.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5G的场景、需求、通信速率

5G三大典型场景 5G有三大典型场景&#xff0c;这三大场景描述了5G的需求也反应了5G与4G的不同&#xff0c;如图所示&#xff0c;三大场景分别为&#xff1a;增强型移动宽带通信&#xff08;eMBB&#xff09;&#xff0c;大规模机器型通信&#xff08;eMTC&#xff09;和超高可…

fceux模拟器linux,超强FC模拟器fceux-2.2.3最新版

超强FC模拟器fceux-2.2.3最新版fceux一款超好用的FC模拟器软件&#xff0c;这个是最新版本的fceux-2.2.3-win32.zip较之早前版本&#xff0c;2.2.2 版本修正部分 bug 并添加了新功能&#xff0c;主要是调试和逆向编译工程的功能。较之早前版本&#xff0c;2.2.1 版本修正大量 b…

linux7禁用ipv6,RHEL 7 及 CentOS 7 彻底禁用IPv6的方法

原标题&#xff1a;RHEL 7 及 CentOS 7 彻底禁用IPv6的方法IPv6在未来可能成为主流&#xff0c;但是就目前而言&#xff0c;很多软件对IPv6的支持并不是很完善&#xff0c;可能导致各类问题。RHEL 7 & CentOS 7 在启动时默认是加载IPv6相关模块的&#xff0c;而禁用IPV6的方…

jpa 分页 排序 过滤_使用JPA标准@ViewScoped通过分页,过滤和排序进行Primefaces DataTable延迟加载...

jpa 分页 排序 过滤Primefaces数据表惰性分页有效&#xff0c;但是在Web上使用Criteria搜索完整示例后&#xff0c;我感到非常沮丧。 所以我混合了来自 http://stackoverflow.com/questions/13972193/how-to-query-data-for-primefaces-datatable-with-lazy-loading-and-pagin…

通信中的backhaul

backhaul 可以翻译成回程,也叫回程线路在现有的无线通信中,backhaul指的是基站和基站控制器之间的链接(一般用户先接入基站,基站再与基站控制器通信,然后进入核心网)。在无线技术中&#xff0c;回程&#xff08;backhaul&#xff09;指的是从信元站点向交换机传送语音和数据流量…

西班牙语言,字母c的发音规则,西语初学者必看:西语29个字母解读

其实西班牙语并没有英语那么复杂的发音规则&#xff0c;除了r这个字母比较难发&#xff0c;其他几乎每一个字母都只有一个特定的音。所以对于西班牙语初学者而言&#xff0c;不用太担心&#xff0c;因为难就退却了。为了更好地帮助初学者进入学习状态&#xff0c;就西班牙语的2…

宏基站、分布式基站、小基站

基站即公用移动通信基站&#xff0c;是无线电台站的一种形式&#xff0c;是指在一定的无线电覆盖区中&#xff0c;通过移动通信交换中心&#xff0c;与移动电话终端之间进行信息传递的无线电收发信电台。 目前&#xff0c;在 5G时代 &#xff0c;“ 宏基站 为主&#xff0c; 小…

OAUTH 2.0授权码授予

OAuth 2.0提供了许多安全性流程&#xff08;或授权类型&#xff09;&#xff0c;以允许一个应用程序访问另一个应用程序中的用户数据。 在此博客中&#xff0c;我们将介绍OAuth 2.0授权&#xff1a;授权代码授权。 首先&#xff0c;有许多定义&#xff1a; 客户端 &#xff…

什么是通信卫星有效载荷(payload)

卫星一般都是由两大部分组成&#xff0c;即有效载荷平台。 有效载荷是指卫星上用于直接实现卫星的自用目的或科研任务的仪器设备&#xff0c;如遥感卫星上使用的照相机&#xff0c;通信卫星上使用的通信转发器和通信天线等&#xff0c;按卫星的各种用途包括&#xff1a;通信转发…

c语言open参数,ifstream :: open()的C类型参数

我必须使用哪种类型的文件名作为ifstream.open()的参数&#xff1f;int main(int argc, char *argv[]) {string x,y,file;string file argv[1];ifstream in;in.open(file);in >> x;in >> y;...使用此代码,我收到以下错误&#xff1a;main.cpp|20|error: no matchi…

单播、广播、组播(多播)

当前的网络中有三种通讯模式&#xff1a;单播、广播、组播(多播)&#xff0c;其中的组播出现时间最晚但同时具备单播和广播的优点&#xff0c;最具有发展前景。 一、单播&#xff08;Unicast&#xff09; 主机之间“一对一”的通讯模式&#xff0c;网络中的交换机和路由器对数…

c语言错误re,c语言malloc之后再realloc的有关问题

C/C code#include #include #include "../Status.h"#define STACK_INIT_SIZE 5 //堆栈初始大小#define STACKINCREMENT 5 //堆栈满之后再增加的大小typedef char *stackelem;typedef struct{stackelem *base,*top;int stacksize;}sqstack;/*------堆栈基本操作------…

struts2面试问题_Struts2面试问答

struts2面试问题Struts2是用Java开发Web应用程序的著名框架之一。 最近&#xff0c;我写了很多Struts2教程 &#xff0c;在这篇文章中&#xff0c;我列出了一些重要的Struts2面试问题以及答案&#xff0c;以帮助您进行面试。 什么是Struts2&#xff1f; Struts1和Struts2之间…

什么是Mesh网络

网络间的通信原理 假设你的名字叫小不点&#xff0c;你住在一个大院子里&#xff0c;你的邻居有很多小伙伴&#xff0c;在门口传达室还有个看大门的李大爷&#xff0c;李大爷就是你的网关。当你想跟院子里的某个小伙伴玩&#xff0c;只要你在院子里大喊一声他的名字&#xff0…

C语言按下列公式计算 求A20的值,2011年全国计算机二级C语言模拟试题及答案(10)...

一、 单项选择题(共30分&#xff0c;每题1分)1. 下列不正确的转义字符是( )A&#xff0e;\\B&#xff0e;\’C&#xff0e;074D&#xff0e;\02. 不是C语言提供的合法关键字是( )A&#xff0e;switchB&#xff0e;cherC&#xff0e;caseD&#xff0e;default3&#xff0e;正确的…

根据谁创建资源授权资源

我的一位同事向我提出了一个关于StackOverflow的有趣问题&#xff0c;并由于我在Spring方面的经验&#xff0c;建议我回答一个很好的问题。 问题是&#xff1a;“ 如何基于使用注释在REST中创建资源的用户来授权特定资源 。” 要点是&#xff1a; 我想做的是创建一个名为Aut…

组播详解

本文转自&#xff1a;http://liuqz926.blog.163.com/blog/static/13448936220091121104233491/ 组播协议允许将一台主机发送的数据通过网络路由器和交换机复制到多个加入此组播的主机&#xff0c;是一种一对多的通讯方式。 IP组播的好处、优势 组播协议与现在广泛使用的单播…

ccf2017除法C语言,CCF考试——201709-5除法

概要问题描述小葱喜欢除法&#xff0c;所以他给了你N个数a1, a2, ⋯, aN&#xff0c;并且希望你执行M次操作&#xff0c;每次操作可能有以下两种&#xff1a;给你三个数l, r, v&#xff0c;你需要将al, al1, ⋯, ar之间所有v的倍数除以v。给你两个数l, r&#xff0c;你需要回答…

c语言中系统函数设定像素,在imag中对每个像素应用自定义函数的快速方法

我正在寻找一种更快的方法来应用一个自定义函数到一个图像&#xff0c;我用来删除蓝色背景。我有一个函数可以计算出每个像素与背景中蓝色的距离。带有循环的原始代码如下所示&#xff1a;def dist_to_blue(pix):rdist 76 - pix[0]gdist 150 - pix[1]bdist 240 - pix[2]retu…