当前位置: 首页 > news >正文

辽源市网站建设_网站建设公司_Windows Server_seo优化

0791网站建设,wordpress首页是哪个文件,网站开通微信支付收费,wordpress阅读量统计jdk8 npe我的2019年3月博客文章“ Java会出现更好的默认NullPointerException消息吗#xff1f; ”的撰写是为了获得更好的NullPointerException消息的JEP 草案尚未针对特定的JDK版本。 此后#xff0c;该JEP草案成为JEP 14的 目标 JEP 358#xff08;“ Helpful NullPointe… jdk8 npe 我的2019年3月博客文章“ Java会出现更好的默认NullPointerException消息吗 ”的撰写是为了获得更好的NullPointerException消息的JEP 草案尚未针对特定的JDK版本。 此后该JEP草案成为JEP 14的 目标 JEP 358“ Helpful NullPointerExceptions” 。 更好的是初始实现 JDK-8218628 已经在JDK 14分支中 并且可以在JDK 14 Early Access Builds Build 202019/10/23中使用 。 在本文中我将针对JDK 14 Early Access Build 20运行先前文章中介绍的示例代码 以演示现在提供的其他详细信息。 要查看为故意引入导致NullPointerException的各种情况而编写的示例代码请参阅前面的文章或查看GitHub上的源代码 。 下载JDK 14 Early Access Build 20并按其路径指向该文件后运行java -version时会看到以下内容 openjdk version 14-ea 2020 - 03 - 17 OpenJDK Runtime Environment (build 14 -ea 20 - 879 ) OpenJDK 64 -Bit Server VM (build 14 -ea 20 - 879 , mixed mode, sharing) 正确配置了JDK 14 Early Access Build 20之后 我重新构建了前面提到的源代码 然后使用Java启动器重新运行了该代码而没有任何新选项。 该输出如下所示与先前JDK版本的输出没有实质性差异。 | # | # 1 : Element [ null boolean array | ] on : Element [ 0 ] on java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateFirstExampleIndexAccessOnNullBooleanArray(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 2 : .length on null boolean [] | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateSecondExampleLengthOnNullBooleanArray(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 3 : Assigning float : Assigning to null float [] | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateThirdExampleAssigningValueToElementOfNullFloatArray(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 4 : Accessing field on null object | : Accessing field on object | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateFourthExampleAccessInstanceFieldOfNullObject(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 5 : throw null ; | ; | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateFifthExampleThrowingConstantNull(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 6 : Method invocation on null instance field | : Method invocation on java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateSixthExampleMethodInvocationOnNullInstanceField(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 7 : () on null instance field | () on synchronized () on instance field | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateSeventhExampleSynchronizedNullInstanceField(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | Null Lost in Long Series of Method Invocations in Single Statement | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateNullLostInSeriesOfMethodInvocationsInSingleStatement(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | Null Lost in Dereferenced Constructor Arguments | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateNullLostInConstructorAcceptingMultiplePotentiallyNullArgumentsDereferenced(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | Null Lost in Dereferenced Method Arguments | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateNullLostInMethodAcceptingMultiplePotentiallyNullArgumentsDereferenced(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) 如以上输出所示即使使用新的JDK 14 Early Access Build 20当我正常运行应用程序时也看不到有关NullPointerException的任何新的详细信息。 我包含了此输出以表明需要一个特殊的标志来启用更详细的NullPointerException 并使比较不带额外细节的输出更加方便。 下一个输出清单显示了将Java启动器传递给标志-XX:ShowCodeDetailsInExceptionMessages时提供的其他详细信息 | # | # 1 : Element [ null boolean array | ] on : Element [ 0 ] on java.lang.NullPointerException: Cannot load from byte / boolean array because java.lang.NullPointerException: Cannot load from array because local1 is null at dustin.examples.npe.NpeDemo.demonstrateFirstExampleIndexAccessOnNullBooleanArray(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 2 : .length on null boolean [] | java.lang.NullPointerException: Cannot read the array length because local1 is null at dustin.examples.npe.NpeDemo.demonstrateSecondExampleLengthOnNullBooleanArray(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 3 : Assigning float : Assigning to null float [] | java.lang.NullPointerException: Cannot store to array because local1 is null array because java.lang.NullPointerException: Cannot store to float array because at dustin.examples.npe.NpeDemo.demonstrateThirdExampleAssigningValueToElementOfNullFloatArray(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 4 : Accessing field on null object | : Accessing field on object | java.lang.NullPointerException: Cannot read field nullInstanceField because local1 is null at dustin.examples.npe.NpeDemo.demonstrateFourthExampleAccessInstanceFieldOfNullObject(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 5 : throw null ; | ; | java.lang.NullPointerException: Cannot throw exception because null is null at dustin.examples.npe.NpeDemo.demonstrateFifthExampleThrowingConstantNull(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 6 : Method invocation on null instance field | : Method invocation on java.lang.NullPointerException: Cannot invoke String.isEmpty() because this.nullInstanceField is null at dustin.examples.npe.NpeDemo.demonstrateSixthExampleMethodInvocationOnNullInstanceField(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 7 : () on null instance field | () on synchronized () on instance field | java.lang.NullPointerException: Cannot enter synchronized block because this.nullInstanceField is null at dustin.examples.npe.NpeDemo.demonstrateSeventhExampleSynchronizedNullInstanceField(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | Null Lost in Long Series of Method Invocations in Single Statement | java.lang.NullPointerException: Cannot invoke dustin.examples.npe.DysfunctionalLocation$Province.getCity() because the return value of dustin.examples.npe.DysfunctionalLocation$Nation.getProvince() is null at dustin.examples.npe.NpeDemo.demonstrateNullLostInSeriesOfMethodInvocationsInSingleStatement(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | Null Lost in Dereferenced Constructor Arguments | java.lang.NullPointerException: Cannot invoke java.lang.Long.longValue() because local6 is null at dustin.examples.npe.NpeDemo.demonstrateNullLostInConstructorAcceptingMultiplePotentiallyNullArgumentsDereferenced(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | Null Lost in Dereferenced Method Arguments | java.lang.NullPointerException: Cannot invoke java.lang.Long.longValue() because local6 is null at dustin.examples.npe.NpeDemo.demonstrateNullLostInMethodAcceptingMultiplePotentiallyNullArgumentsDereferenced(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) JEP 358解释了如何使用此标志查看其他NullPointerException详细信息“可以使用新的boolean命令行选项-XX { | - } ShowCodeDetailsInExceptionMessages -XX { | - } ShowCodeDetailsInExceptionMessages 。 该选项将首先具有默认值 false 以便不打印消息。 它旨在在以后的版本中默认情况下在异常消息中启用代码详细信息。” 如我们所见此功能默认情况下最初处于关闭状态但是有计划在将来启用更详细的NullPointerException消息。 最近的一条Tweet提出了一个问题“如果字节码不包含变量名它将如何工作” 这个问题通过提供一个具体的例子来继续“假设我们有像Object a ....; a.getName(); //NPE这样的代码Object a ....; a.getName(); //NPE Object a ....; a.getName(); //NPE Object a ....; a.getName(); //NPE NPE会Object a ....; a.getName(); //NPE哪种消息” 尽管前面显示的一系列测试中都包含了一个示例但我认为我会在此处针对该问题提供更集中的示例。 下一个代码清单也在GitHub上提供 显示了改编自Tweet中使用的示例的代码。 package dustin.examples.npe; /** * Simple demonstration to answer Tweet-ed question * How it will work if bytecode doesnt contain variable names? * ( https://twitter.com/2doublewhiskey/status/1180365953240055809 ). */ public class TwoDoubleWhiskeyTweetExample { public static void main( final String[] arguments) { final Person person null ; person.getName(); //NPE }    public static class Person { private String name; public Person( final String newName) { name newName; } public String getName() { return name; } } } 下一个屏幕快照显示了使用JDK 14 Early Access Build 20不带java启动器标志-XX:ShowCodeDetailsInExceptionMessages运行此简单应用程序的结果。 如屏幕快照所示在JDK 14 Early Access Build 20中使用-XX:ShowCodeDetailsInExceptionMessages标志可提供与此简单NullPointerException示例相关的其他详细信息“无法调用” dustin.examples.npe.TwoDoubleWhiskeyTweetExample $ Person.getName ”因为“ local1 ”为空” GitHub上提供了一个更简单甚至更接近Tweet-ed问题中提供的原始示例的示例。 JEP 358 “ 有用的NullPointerExceptions ”可能不像新JDK版本中的其他一些JEP那样浮华但最终可能是每天为Java开发人员提供的价值要比其一些浮华的同行更高。 有许多示例将对您有所帮助JEP本身以及本文引用的我的代码示例中都阐明了许多示例情况。 翻译自: https://www.javacodegeeks.com/2019/10/better-npe-messages-in-jdk-14.htmljdk8 npe
http://www.lebaoying.cn/news/63262.html

相关文章:

  • 长宁移动网站建设沈阳建设工程城乡建设厅
  • 网站购买域名吗外贸网站有哪些平台
  • 怎么把自己的网站推广网站策划搭建方案
  • 网站开发研究论文网店代运营店铺
  • iis做的网站提示500建设银行反钓鱼网站
  • 陕西省建设监理工程协会网站怎么直接做免费网站吗
  • 学网站开发工作好找吗凡科做网站好吗
  • 赣州大余做网站建设有哪几个平台做网站
  • 网站后台登陆不进去一个软件是怎么做出来的
  • sae 网站备案wordpress功能强大的主题
  • 网站怎么创建论坛网站建设外地便宜
  • 网站开发项目比赛自己制作一个网站怎么制作
  • 仿木鱼网络网站如何做一个网页界面
  • 做lgoo的网站一般有哪些印尼网站建设费用
  • 广州设计网站建设重庆地推团队外包
  • 阳江网站建设推广argo wordpress主题
  • 自己做的网站怎么发布wordpress传输失败
  • 网站备案到哪里成都专门做网站的公司
  • 哪里可以做网站的站长工具百度百科
  • 个人网站页面设计素材深圳建设集团地址在哪里
  • 兴义网站建设的公司建设银行 上海科技中心网站
  • 自己什么建设网站咸宁网网站
  • 服务器网站域名系统装置福州微信网站制作
  • 网站关键词优化哪一个马鞍山网站建设方案
  • 网站策划运营方案书网站制作公司中
  • 蓝色大气企业网站源码H5酒店静态网站建设开题报告范文
  • 体育直播网站开发数据源获取wordpress表单联系
  • 色彩搭配的网站接工程平台
  • 湘潭学校网站建设 x磐石网络贵阳网站制作 建设
  • 大连网站快速制作公众号开发者密钥重置影响