阅读更多

1顶
0踩

编程语言
JSR 308(Java类型注解)规范领导者近日发布了早期草案的第2个版本,该草案扩展了JavaSE 8中的Java语言,这样注解可以出现在任何类型的使用中(之前只可以出现在声明中)。

最初JSR 308规范的目的是解决在JSR 175(JDK5中的元数据注解)中出现的两个问题:

  • 在句法上对注解的限制:只能把注解写在声明的地方
  • 类型系统在语义上的限制:类型系统还做不到预防所有的bug
JSR 308 通过如下方法解决上述两个问题:

  • 对Java语言的句法进行扩充,允许注解出现在更多的位置上。包括:方法接收器(method receivers,例如public int size() @Readonly { ... })、泛型参数、数组、类型转换、类型测试、对象创建、类型参数绑定、类继承和throws子句等。
  • 通过引入可插入的类型系统(pluggable type systems),创建功能更强大的注解处理器。类型检查器对带有类型限定注解的源码进行分析,一旦发现不匹配等错误之处就会产生警告信息。
此次发布的草案的PDF文件中包含了语言变化、类文件的支持,以及计划在JavaSE 8中与其他语言交互功能的示意图。

据介绍,该第2版草案将于2012年2月29日关闭。下一个里程碑草案中将包括针对反射的API(java.lang.reflect)以及注解处理(JSR 269中的javax.lang.model)。届时,参考实现将从jsr308-langtools项目移到OpenJDK的Type Annotations项目。

JSR 308草案下载:http://jcp.org/en/jsr/detail?id=308

Via OracleBlog
1
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • JSR 380 Java Bean 验证标准草案介绍

    文章目录前言下载安装功能验证 Java Bean验证方法参数验证集合内容多字段联合验证自定义验证与 Spring 结合总结 前言 使用 Java 编写接口时,我们经常需要验证参数的合法性,但是在标准出现之前,我们有各种各样的...

  • Java 中 注解 (Annotations) 学习

    注释分为三个基本种类: 标记注释没有变量。...因为仅提供很少的一点数据,所以可以使用快捷语法(假设注释类型接受此语法): @SingleValueAnnotation("my data") 。除了 @ 标记外,这应该与普...

  • java 拼图_功能项目拼图将Java 9引入

    java 拼图 因此,拼图项目...我们已经对此颇为了解,但尚未看到计划如何兑现其承诺的细节。 这篇文章将精确地做到这一点,并介绍项目的核心概念和功能。 系列 这篇文章是正在进行的有关拼图项目系列的一部分。 ...

  • JSR 规范

    java 2平台,企业版管理规范将为服务器供应商和工具供应商提供管理J2EE平台的标准模型。 Status:   Maintenance Latest Stage:   Maintenance Release Download page Start: ...

  • java web开发之 servlet3.1规范翻译-概览(2)

    Servlet3.1(JSR340)规范目前处于早期草案阶段,目标是在Java EE 7或更高平台。Servlet3.0(JSR 315)已经包含在Java EE 6平台。具体请参考本规范网站:http://jcp.org/en/jsr/detail?id=340 概览 1.1什么是...

  • 功能项目拼图将Java 9引入

    因此,拼图项目...我们已经对此颇为了解,但尚未看到计划如何兑现其承诺的细节。 这篇文章将精确地做到这一点,并介绍项目的核心概念和功能。 系列 这篇文章是正在进行的有关... 动手指南(即将在EA版本包含JSR 37...

  • 新的Java缓存标准(javax.cache)

    这篇文章探讨了新的Java缓存... JSR107包含在JSR342开发的Java EE 7中。 Java EE 7将于2012年底完成。但是与此同时,javax.cache将在Java SE 6和更高版本以及Java EE 6环境以及Spring和其他流行环境中运行。 JSR10...

  • Java 最全面的面试题675道

    2019年Java面试675道题  目录 java基础、语法 30 001_Java跨平台原理(字节码文件、虚拟机) 30 002_Java的安全性 31 003_Java三大版本 32 004_什么是JVM?什么是JDK? 什么是JRE? 32 005_Java三种注释类型 ...

  • javax.cache_新的Java缓存标准(javax.cache)

    javax.cache 这篇文章探讨了新的Java缓存... JSR107包含在JSR342开发的Java EE 7中。 Java EE 7将于2012年底完成。但是与此同时,javax.cache将在Java SE 6和更高版本以及Java EE 6环境以及Spring和其他流行环境中...

  • [译] 从 Java EE 8 Security API 开始 —— 第一部分

    原文地址:Get started with the Java EE 8 Security API Part 1: Java enterprise security for cloud and microservices platforms 原文作者:Alex Theedom 译文出自:掘金翻译计划 本文永久链接:github....

  • Gavin King 谈 JSR-299 和 Weld 1.0 对 Java EE 与 JBoss 的影响

    Gavin King谈JSR-299和Weld 1.0对Java EE与JBoss的影响 作者 Charles Humble 译者 张龙 发布于 2009年11月23日 下...

  • java jigsaw_Jigsaw项目确实在Java 9中出现

    在开始的第一年,它必须与两个类似的Java规范请求竞争,即JSR 277 Java模块系统和JSR 294改进的模块化 支持 。 这也导致了与OSGi社区的冲突 ,后者担心Project Jigsaw将是不必要且功能不足的重复功能,从而迫使Java...

  • Java 9终于要包含Jigsaw项目了

    当Jigsaw在Java 9中最终发布时,这个项目的历史已经超过八年了。 转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0228/180.html?1456925937 在最初的几年中,它必须要与另外两个类似的Java规范请求(Java ...

  • 聊聊Spring Cache的缓存抽象与JSR107缓存抽象JCache,并使用API方式使用Spring Cache【享学Spring】

    JSR107的草案提得其实是非常的早的,但是第一个Final Release版本却一直难产到了2014年,如图(本文截自JSR官网): 虽然最终它还是被作为JSR规范提出了,但那时已经4102年了,黄瓜菜早就凉凉~ 在还没有缓存规范...

  • Java 代码中添加元数据 定制注释

    该系列文章分为两部分,在这第 1 部分中,作者 Brett McLaughlin 解释了元数据如此有用的原因,向您介绍了 Java 语言中的注释,并研究了 Tiger 的内置注释。编程的一个最新的趋势,尤其是在 Java 编程方面,是使用 ...

  • 琐记之零散知识点(java相关的零散知识都丢这里)

    2.EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。  3.Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机...

  • j2se5 注解 annotation(一)

    Tiger 中的注释,第 1 部分: 向 Java 代码中添加元数据 如何使用 Java 5 的内置注释

  • java+sql server项目之科帮网计算机配件报价系统源代码.zip

    sql server+java项目之科帮网计算机配件报价系统源代码

  • 【java毕业设计】智慧社区老人健康监测门户.zip

    有java环境就可以运行起来 ,zip里包含源码+论文+PPT, 系统设计与功能: 文档详细描述了系统的后台管理功能,包括系统管理模块、新闻资讯管理模块、公告管理模块、社区影院管理模块、会员上传下载管理模块以及留言管理模块。 系统管理模块:允许管理员重新设置密码,记录登录日志,确保系统安全。 新闻资讯管理模块:实现新闻资讯的添加、删除、修改,确保主页新闻部分始终显示最新的文章。 公告管理模块:类似于新闻资讯管理,但专注于主页公告的后台管理。 社区影院管理模块:管理所有视频的添加、删除、修改,包括影片名、导演、主演、片长等信息。 会员上传下载管理模块:审核与删除会员上传的文件。 留言管理模块:回复与删除所有留言,确保系统内的留言得到及时处理。 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上

  • 【java毕业设计】智慧社区心理咨询平台(源代码+论文+PPT模板).zip

    zip里包含源码+论文+PPT,有java环境就可以运行起来 ,功能说明: 文档开篇阐述了随着计算机技术、通信技术和网络技术的快速发展,智慧社区门户网站的建设成为了可能,并被视为21世纪信息产业的主要发展方向之一 强调了网络信息管理技术、数字化处理技术和数字式信息资源建设在国际竞争中的重要性。 指出了智慧社区门户网站系统的编程语言为Java,数据库为MYSQL,并实现了新闻资讯、社区共享、在线影院等功能。 系统设计与功能: 文档详细描述了系统的后台管理功能,包括系统管理模块、新闻资讯管理模块、公告管理模块、社区影院管理模块、会员上传下载管理模块以及留言管理模块。 系统管理模块:允许管理员重新设置密码,记录登录日志,确保系统安全。 新闻资讯管理模块:实现新闻资讯的添加、删除、修改,确保主页新闻部分始终显示最新的文章。 公告管理模块:类似于新闻资讯管理,但专注于主页公告的后台管理。 社区影院管理模块:管理所有视频的添加、删除、修改,包括影片名、导演、主演、片长等信息。 会员上传下载管理模块:审核与删除会员上传的文件。 留言管理模块:回复与删除所有留言,确保系统内的留言得到及时处理。

Global site tag (gtag.js) - Google Analytics