JDK可能正在使用JDK 11 : @Serial获得另一个标准(预定义)注释 。 JDK-8202385 [“标记与序列相关的字段和方法的注释”]的目的是添加“某种“ SerialRelated”注释,以促进对序列字段和方法的声明的自动检查。” 这种想法是为了更好地向开发人员指示与序列化相关的字段或方法的拼写错误,类似于“使用java.lang.Override批注类型来指示编译器应验证该方法实际上被覆盖”的方式。

Joe Darcy 最近要求对“ webrev ”(建议的代码添加) 进行审查 。 这提供了新@Serial外观。 当前的建议是将此注释定义驻留在java.io包中 ,以特定的方法或字段为目标 ,并具有SOURCE 保留 。

对于@Serial的建议定义, Javadoc注释当前提供了有关如何使用此注释的重要详细信息。 此Javadoc还明确指定了预期使用@Serial进行注释的方法和字段: writeObject() , readObject() , readObjectNoData() , writeReplace() , readResolve() , ObjectStreamField []和serialVersionUID 。

建议的@Serial批注将在执行javac “ serial ” lint检查时进行检查。 在Darcy的电子邮件审核请求中对此进行了描述:

拟议的java.io.Serial批注类型旨在与javac的“串行” lint检查的增强实现一起使用。 该工作将作为JDK-8202056的一部分单独完成:“扩展串行警告以检查与串行相关的方法的严重过载”。

有趣的是,该注解的名称不一定要最终确定,尽管它似乎很可能会保留下来。 达西的电子邮件指出,还可以使用其他名称,例如@Serialize@SerialRelated

一个有趣的区别是, @Serial批注不能或不应与Externalizable接口的某些方法和某些字段一起使用(扩展Serializable ),因为这些方法和字段未在Externalizable中使用 。 在这种区别的更多细节在核心库-dev的相关信息提供053060 , 053061 , 053064和053067 。

@Serial ,尚未正式为JDK 11计划@Serial批注,但考虑到JDK-8202385的最新进展,它似乎可以及时在JDK 11版本中使用 。 除了此批注对实现自定义序列化的潜在用途之外,此批注的定义还将提供另一个示例,说明如何记录任何自定义批注以使其正确使用。

翻译自: https://www.javacodegeeks.com/2018/05/javas-serial-annotation.html

Java的@Serial批注相关推荐

  1. java serial_Java的@Serial批注

    java serial JDK可能正在使用JDK 11 : @Serial获得另一个标准(预定义)注释 . JDK-8202385 ["标记与序列相关的字段和方法的注释"]的目的是 ...

  2. Java 获取Word批注所标记的文本和图片

    [环境配置] 本文将通过Java程序代码来展示如何来获取Word批注所标注的文本和图片.这里使用的Word Jar包工具是Free Spire.Doc for Java,在pom.xml中按如下步骤配 ...

  3. java解析word批注

    最近有一个需求,通过java读取word文档,获取里面的批注内容,批注的作者以及被批注的内容,被批注内容所在的章节数和页码数.poi提供的API都是英文的,而且针对word的操作并不是很完善,所以就自 ...

  4. Java 读取Word批注中的文本和图片

    本文将介绍读取Word批注的方法,包括读取Word批注中的文本及图片.下面将通过Java代码来演示如何读取批注. **工具使用:**Word类库(Free Spire.Doc for Java 免费版 ...

  5. java提取word中的图片_Java怎么获取Word批注的文字和图片

    Java怎么获取Word批注的文字和图片 发布时间:2020-06-23 11:07:08 来源:亿速云 阅读:119 作者:Leah 这篇文章将为大家详细讲解有关Java获取Word批注的文字和图片 ...

  6. java 线程接口_java - 实现线程的接口

    我正在尝试使用接口SerialPortListener将两个类"MyJFrame"和"MySerialPort""连接"在一起,但我无法知道 ...

  7. java更好的语言_Java,如果这是一个更好的世界

    java更好的语言 只是梦想着有一个更好的世界,在该世界中,Java平台中的一些旧错误已得到纠正,而某些令人敬畏的缺失功能也已实现. 不要误会我的意思. 我认为Java很棒. 但是它仍然存在一些问题, ...

  8. Java注释教程– ULTIMATE指南(PDF下载)

    编者注:在本文中,我们提供了全面的Java注释教程. Java中的注释是一项主要功能,每个Java开发人员都应该知道如何使用它们. 我们在Java Code Geeks上提供了许多教程,例如创建自己的 ...

  9. Java,如果这是一个更好的世界

    只是梦想着有一个更好的世界,在该世界中,Java平台中的一些旧错误已得到纠正,而某些令人敬畏的缺失功能也已实现. 不要误会我的意思. 我认为Java很棒. 但是它仍然存在一些问题,就像其他平台一样. ...

最新文章

  1. (译文)JavaScript基础——JavaScript中的深拷贝
  2. iMX6开发板-uboot-网络设置和测试
  3. 在iPhone程序上读取PDF文件
  4. 用c语言实现循环神经网络,浅谈LSTM循环神经网络
  5. LINUX系列:Shell命令
  6. 如何用html构建ios应用,使用HTML5构建iOS原生APP(5)
  7. Oracle查询 rownum和rowid的区别
  8. BI工具的主要功能都有哪些
  9. linux+显卡驱动+七彩虹,9800gt显卡驱动
  10. 鱼群算法matlab代码,人工鱼群算法MATLAB实现
  11. 闪瞎眼低效贪吃蛇:数组实现
  12. 简单酷炫css3动画效果,CSS3使用Animate.css制作超炫的动画效果
  13. 移动App专项性能测试(Android and iOS)
  14. pci配置基地址_PCI/PCIe基础——配置空间
  15. SpringCloud Gateway 重试路由器的过滤器
  16. Silane-PEG-FITC 硅烷聚乙二醇荧光素FITC-PEG-Silane在医疗设备领域有广泛应用,具有很好的生物相容性。
  17. pythonocc 切完显示要要.Shape()
  18. 百度地图API支持HTTPS
  19. 大前端时代的乱流:带你了解最全面的 Flutter Web
  20. Spring DI详解

热门文章

  1. 面试过程中千万不要犯这 5 点低级错误
  2. 聊聊微服务架构及分布式事务解决方案
  3. 快速搭建Springboot项目的两种方式!!
  4. 新闻发布项目——实体类(newsTb)
  5. JS对象的属性名规则
  6. oracle8修改最大连接数,ORACLE查看并修改最大连接数的具体步骤
  7. 如何彻底删除MySQL数据库(保姆级教学)
  8. 网站能拿到其他网站的cookie_网站能给公司带来哪些好处?
  9. super 和 this 关键字的比较+调用构造器(this)+动态绑定
  10. Servlet---注解开发