你知道Java中的JCP, JEP, JLS, JSR是什么意思吗?

news/2024/5/19 4:51:57/文章来源:https://blog.csdn.net/projim_tao/article/details/129306318

目录

一、JCP

二、JSR

三、JLS

四、JEP


公众号:MCNU云原生,欢迎微信搜索关注,更多干货,及时掌握。

JCP, JEP, JLS, JSR这些概念是Java社区中的一些概念,但是没有没有经常关注社区的童鞋们未必知道这些缩写所代表的含义,今天咱们就一起来了解一下。

一、JCP

JCP是Java Community Process(Java社区标准过程)的缩写,它成立于1998年,是使有兴趣的各方参与定义Java的特征和未来版本的正式过程。

简单地说,JCP就是社区共同对Java未来功能和发展方向进行确定的过程和组织。可以通过申请成为JCP会员提交Java发展的相关功能和建议,成为JCP会员是唯一可以提交JSR(下文说明)供审查的唯一方式。

二、JSR

JSR是Java Specification Requests Java规范请求的缩写JCP使用JSR作为正式规范文档,描述被提议加入到Java体系中的的规范和技术。使用JSR圈定标准范围以后就可以提供给JDK团队成员进行开发, 圈定的范围通常是JAVA相关的, 同时又不会成为Java核心技术(Java SE/EE Core)的一部分.,一个标准的JSR课题通常是一个相对成熟的技术。JSR通常以一个编号指定,例如JSR-370, JSR-338等等。

三、JLS

Java Language Specification的缩写,意为Java语法规范,于指出Java的语法标准和一些规则, 这些规则包括了合规及不合规程序的说明. 规范同时指出了程序的含义并说明了运行后将发生什么。

以Annotation Interface为例,从JLS上可以看到指导了如何定义,如何使用,还有相关的案例:

定义:

AnnotationInterfaceDeclaration:
{InterfaceModifier} @ interface TypeIdentifier AnnotationInterfaceBody

案例:

/*** Describes the "request-for-enhancement" (RFE)* that led to the presence of the annotated API element.*/
@interface RequestForEnhancement {int    id();        // Unique ID number associated with RFEString synopsis();  // Synopsis of RFEString engineer();  // Name of engineer who implemented RFEString date();      // Date RFE was implemented
}

学习Java语法最正宗的就是JLS,只是英文版比较难啃,而且非常细节,但是如果你真的有心啃下来的话,一定受益匪浅。

四、JEP

JDK Enhancement Proposal的缩写,意为JDK增强建议。JEP是一个JDK核心技术相关的增强建议文档.。JEP用于探索新的一些想法,一般比JSR更为早期,用于前期的探索,是用于收集Java Development Kit和OpenJDK增强的提案。

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

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

相关文章

围棋

围棋 规则 棋盘 围棋使用矩形格状棋盘及黑白二色圆形棋子进行对弈,正规棋盘上有纵横各19条线段,361个交叉点。 基本下法 1.对局双方各执一色棋子,黑先白后,交替下子,每次只能下一子。 2.棋子…

Go 实现 AOI 区域视野管理

在游戏中,场景里存在大量的物体.如果我们把所有物体的变化都广播给玩家.那客户端很难承受这么大的压力.因此我们肯定会做优化.把不必要的信息过滤掉.如只关心玩家视野所看到的.减轻客户端的压力,给玩家更流畅的体验. 优化的思路一般是: 第一个是尽量降低向客户端同步对象的数量…

为什么FPGA在深度学习领域有着得天独厚的优势?

01 FPGA在深度学习领域有哪些优势 FPGA(Field-Programmable Gate Array)是一种灵活的可编程硬件设备,它在深度学习应用领域中具有许多优势。 首先,FPGA具有非常高的并行性。在深度学习中,许多计算都可以并行化&…

“数字档案室测评”相关参考依据梳理

数字档案室建设无疑比数字档案馆建设应用范围更为广泛,涉及的单位类型和专业领域也更多。这一点从国家档案局的机构设置上也可以看出端倪: 国家档案局两个内设业务指导司中,档案馆(室)业务指导司主要针对档案馆和机关档案室,而经济…

施工机械设备群远程在线监控管理系统

一、项目背景 在加强基础设施建设等一系列政策的牵引下,我国工程机械设备市场连续保持强劲增长势头,伴随国内中高端机械设备公司业务的不断扩展,施工大型机械设备的应用率不断提高,铁路施工特别是架桥机作业过程被认为是一个极易出…

Windows搭建机器学习环境

一、环境介绍Anaconda:Anaconda offers the easiest way to perform Python/R data science and machine learning on a single machine. Start working with thousands of open-source packages and libraries today.Anaconda包括Conda、Python以及一大堆安装好的工…

边缘计算开源项目解读——kubeedge mappers实现

0 背景 本文重点解读kubeedge项目中的mapper模块。该模块位于kubeedge的edgecore的南向边缘侧,主要对接入kubeedge的终端设备,进行协议的适配和转换,使其可以和边缘设备通信,转换后的协议是我们前面描述的mqtt协议,当然…

快速上手配置firewalld

firewalld使用firewall-cmd命令配置策略。 查看当前firewalld当前服务运行状态 firewall-cmd --state firewalld防火墙状态还用使用如下命令查看状态 systemctl status firewalld 查看所有打开运行的端口 firewall-cmd --zonepublic --list-ports 查看区域信息情况 firewall…

04 Android基础--RelativeLayout

04 Android基础--RelativeLayout什么是RelativeLayout?RelativeLayout的常见用法:什么是RelativeLayout? 相对布局(RelativeLayout)是一种根据父容器和兄弟控件作为参照来确定控件位置的布局方式。 根据父容器定位 在相…

maven高级知识。

目录 一、分模块开发 1、分模块开发设计 2、依赖管理 二、继承和聚合 1、聚合 2、继承 三、属性 1、基本介绍 2、版本管理 四、多环境配置与应用 1、多环境开发 2、跳过测试 五、私服 1、私服安装 2、私服仓库分类 一、分模块开发 1、分模块开发设计 ▶ 示意图 …

南卡Neo骨传导运动耳机发布,重塑骨传导耳机舒适听感新体验!

近日,在骨传导耳机领域中最专业的南卡发布了今年全新系列——NEO,如果说南卡Runner Pro4的音质是偏向于节奏性,那么这款南卡NEO是更加偏向于沉稳性节奏,能够轻松征服轻运动场景,此系列在舒适度以及音质上,更…

【GNN笔记】GNN图论文相关笔记公开汇总清单

图神经网络相关论文笔记清单持续待更....😀 🐧🐧🐧🐧~【异构图笔记】1. 异构图笔记部分示例2. 异构图笔记清单罗列【图-注意力机制笔记】1. 图-注意力机制笔记部分示例2. 图-注意力机制笔记清单罗列这是一份有关我自己…

经典蓝牙Sniff Mode

文章目录IntroductionApplicationSniff Sub-ratingReferenceIntroduction Sniff mode为两个已连接的经典蓝牙设备提供了有效的降低功耗的方法。我们知道,当没有数据需要传输的时候,两个已连接的蓝牙设备之间也需要每两个slots完成一次POLL packet - NUL…

新版本GPU加速的tensorflow库的配置方法

本文介绍在Anaconda环境中,配置可以用GPU运行的Python新版tensorflow库的方法。 在上一篇文章Anaconda配置Python新版本tensorflow库(CPU、GPU通用)的方法(https://blog.csdn.net/zhebushibiaoshifu/article/details/129285815&am…

Torch同时训练多个模型

20230302 引言 在进行具体的研究时,利用Torch进行编程,考虑到是不是能够同时训练两个模型呢?!而且利用其中一个模型的输出来辅助另外一个模型进行学习。这一点,在我看来应该是很简单的,例如GAN网络同时训…

HOT100--(5)最长回文子串

点击查看题目详情 中心扩散法 思路: 遍历字符串,以每个字符为中心点向两边扩散,如果遇到不一样的就跳出循环。以此类推,最后截取最大回文串返回。 细节 字符个数不一定都是奇数。当个数是偶数的是时候,我们可以“忽…

Canal数据同步配置

文章目录Canal数据同步配置0.canal工作原理1.**检查binlog功能是否有开启**2.如果显示状态为OFF表示该功能未开启,开启binlog功能3.**在mysql里面添加以下的相关用户和权限**4.下载安装Canal服务5.修改配置文件6.进入bin目录下启动7.idea中配置Canal数据同步配置 c…

Java接口专题

基本介绍 接口给出一些没有实现的方法,封装到一起,到某个类使用时再根据具体情况把这些方法写出来。 注意:在jdk7之前,接口里所有的方法都是抽象方法。在jdk8之后接口中可以有静态方法,默认方法 interface 接口名{/…

MySQL 数据库创建不了外键约束

在数据库的表里面创建不了外键约束❓❓❓ 没错,以我名侦探 q 的分析(狗屁!!!),真相只有一个❗❗❗ 那就是:你表的存储引擎非 InnoDB,外键约束只有存储引擎是 InnoDB 才…

flutter window安装过程

这里写自定义目录标题#下载相关官网地址:https://flutter.cn/docs/get-started/install/windows 根据官网下载相关包flutter_windows_3.7.5-stable.zip 解压到c盘,在path配置相关解压路径(c:\flutter)。 执行 where flutter dart ,发现没有提…