The Java Community Process (JCP), established in 1998, is a formal mechanism that enables interested parties to develop standard technical specifications for Java technology. Becoming a member of the JCP requires solid knowledge of the Java programming language, its specifications, and best practices in software development. Membership in the JCP involves a detailed review of the candidate's profile, including an assessment by current members. Typically, professionals are invited to join the JCP based on their contributions and reputation within the Java community.

Once invited, the new member undergoes an evaluation by the JCP Executive Committee, ensuring that they can effectively contribute to the Java Specification Requests (JSRs). These formal documents describe proposed specifications and technologies to be added to the Java platform. New members are encouraged to engage actively and play a crucial role in supporting the Java community and its releases. It is essential that members possess expertise and in-depth technical knowledge, combined with strong professional experience, to significantly contribute to the growth and usage of the Java language.

Membership for organizations and commercial entities requires annual fees, but it is free for individuals. JSRs undergo formal public reviews before becoming final, and the JCP Executive Committee votes on their approval. A finalized JSR provides a reference implementation, which is a free implementation of the technology in source code form, and a Technology Compatibility Kit to verify the API specification.

The JCP itself is described by a JSR. , JSR 387 describes the current version (2.11) of the JCP.

List of JSRs

There are hundreds of JSRs. Some of the more visible JSRs include:

JSR #Specification or TechnologyReference implementationsOther implementations 1Real-Time Specification for Java (RTSJ) 1.0 3Java Management Extensions (JMX) 1.0, 1.1, & 1.2JSR 3 originally specified the JMX 1.0 release. Two subsequent "final" releases have provided JMX 1.1 and JMX 1.2. JMX 2.0 is specified by JSR 255. 5Java API for XML Processing (JAXP) 1.0 8OSGI Open Services Gateway Specification 9Jiro (Federated Management Architecture Specification) 1.0 12Java Data Objects (JDO) 1.0 13Improved BigDecimal (Java Platform, Standard Edition#java.math) 14Add Generic Types To The Java Programming Language (as of J2SE 5.0) 16Java EE Connector Architecture (JCA) 1.0 19Enterprise JavaBeans (EJB) 2.0 22 JAIN SLEE API Specification (JSLEE) 1.0 30Connected Limited Device Configuration (CLDC) 1.0 for Java ME 31Java Architecture for XML Binding (JAXB) 1.0 32JAIN SIP API Specification (JSIP) 1.0, 1.1 and 1.2 for Java ME 36Connected Device Configuration (CDC) 1.0 for Java ME 37Mobile Information Device Profile (MIDP) 1.0 for Java ME 40Java Metadata Interface (JMI) 1.0 41A Simple Assertion Facility (as of J2SE 1.4) 47Logging API Specification (as of J2SE 1.4) 48WBEM Services Specification (as of J2SE 1.4) 51Non-blocking I/O (NIO) (as of J2SE 1.4)Grizzly, Netty 52JavaServer Pages Standard Tag Library (JSTL) 1.0 and 1.1JSR 52 originally specified the JSTL 1.0 release. A subsequent maintenance release provided JSTL 1.1. 53Java Servlet 2.3 and JavaServer Pages (JSP) 1.2 Specifications 54Java Database Connectivity (JDBC) 3.0 56Java Network Launching Protocol and API (JNLP) 1.0, 1.5 and 6.0JSR 56 originally specified the JNLP 1.0 release. A subsequent "final" release provided JNLP 1.5, which was primarily a maintenance release. As of February, 2006, the JNLP 6.0 maintenance release has been completed but not finalized. (Java Web Start) 58Java 2 Platform, Enterprise Edition (J2EE) 1.3 59Java 2 Platform, Standard Edition (J2SE) 1.4 (Merlin) 63Java API for XML Processing (JAXP) 1.1 and 1.2JSR 63 originally specified the JAXP 1.1 release. A subsequent maintenance release of JSR 63 provided the JAXP 1.2 specification. JAXP 1.3 is specified by JSR 206. 68Java Platform, Micro Edition (Java ME) 1.0 73Java Data Mining API (JDM) 1.0 75PDA Optional Packages for the J2ME Platform 77J2EE Management 80Java USB API 82Java APIs for Bluetooth 88Java EE Application Deployment 91OSS Trouble Ticket API 93Java API for XML Registries (JAXR) 1.0 94Java Rules Engine API 102Java Document Object Model (JDOM) 1.0 110Java APIs for WSDL (WSDL4J) 1.0 112Java EE Connector Architecture (JCA) 1.5 113Java Speech API 2 (JSAPI2) 114Java Database Connectivity (JDBC) Rowset Implementations 116SIP Servlet API 1.0 118Mobile Information Device Profile (MIDP) 2.0 for Java ME 120Wireless Messaging API (WMA) 121Application Isolation API 127JavaServer Faces (JSF) 1.0 and 1.1JSR 127 originally specified the JSF 1.0 release. A subsequent maintenance release provided the JSF 1.1 specification. JSF 1.2 is specified by JSR 252. 133Java Memory Model and Thread Specification Revision 135Java Mobile Media API (MMAPI) for Java ME 139Connected Limited Device Configuration (CLDC) 1.1 for Java ME 140Service Location Protocol (SLP) API for Java 141Session Description Protocol (SDP) API for Java 151Java 2 Platform, Enterprise Edition (J2EE) 1.4 152JavaServer Pages (JSP) 2.0 153Enterprise JavaBeans (EJB) 2.1 154Java Servlet 2.4 and 2.5 SpecificationsJSR 154 originally specified the Java Servlet 2.4 release. As of February, 2006 a maintenance draft of the 2.5 servlet specification is under review, scheduled to close on March 20, 2006. 160Java Management Extensions (JMX) Remote API 1.0 163Java Platform Profiling Architecture (JPPA), which includes (among other specifications) the specification of Java Virtual Machine Tools Interface 166Concurrency Utilities (as of J2SE 5.0 , and ) 168Portlet specification 1.0 170Content repository API for Java (JCR) 1.0 172 Web Services Specification for Java ME 173StAX (Streaming API for XML) 175A Metadata Facility for the Java Programming Language 176Java 2 Platform, Standard Edition (J2SE) 5.0 (Tiger) 177Security and Trust Services API for J2ME (SATSA) 179Location API 1.0 for Java ME 180Session Initiation Protocol (SIP) API for Java ME 181Web Services Metadata for the Java Platform 184Mobile 3D Graphics API for Java ME 1.0 and 1.1 185Java Technology for the Wireless Industry (JTWI) 187Instant messaging (Java ME and Java SE) 198A Standard Extension API for Integrated Development Environments 199Java Compiler API 200Pack200 Network Transfer Format for Java Archives 201Extending the Java Programming Language with Enumerations, Autoboxing, Enhanced for loops and Static Import (as of J2SE 5.0) 202Java Class File Specification Update 203More Non-blocking I/O (Java) (NIO2) 204Unicode Supplementary Character Support (as of J2SE 5.0 adds support for Unicode 3.1) 205Wireless Messaging API 2.0 (WMA) 2.0 206Java API for XML Processing (JAXP) 1.3 208Java Business Integration (JBI) 1.0 211Content Handler API 215Java Community Process (JCP) 2.6 218Connected Device Configuration (CDC) 1.1 for Java ME 219Foundation Profile 1.1 220Enterprise JavaBeans (EJB) 3.0 221Java Database Connectivity (JDBC) 4.0 222Java Architecture for XML Binding (JAXB) 2.0 223Scripting for the Java Platform for Java SE 6 224Java API for XML Web Services (JAX-WS), successor of JAX-RPC 225XQuery API for Java (XQJ) 226 Scalable 2D Vector Graphics API for Java ME 229 Payment API (PAPI) 231Java Bindings for OpenGL 234Advanced Multimedia Supplements API for Java ME 235Service Data Objects (SDO) 239Java Bindings for OpenGL ES 240 JAIN SLEE API Specification (JSLEE) 1.1 241The Groovy Programming Language 243Java Data Objects (JDO) 2.0 244Java Platform, Enterprise Edition (Java EE) 5 245JavaServer Pages (JSP) 2.1 247Java Data Mining API (JDM) 2.0 248Mobile Service Architecture 249Mobile Service Architecture 2 250Common Annotations for the Java Platform (for the Metadata facility for Java) 252JavaServer Faces (JSF) 1.2 253Mobile Telephony API (MTA) 255Java Management Extensions (JMX) 2.0 256Mobile Sensor API 257Contactless Communication API (NFC) 260Javadoc Tag Technology Update 269Pluggable Annotations Processing API (for the Metadata facility for Java) 270Java Platform, Standard Edition (Java SE) 6 (Mustang) 271Mobile Information Device Profile (MIDP) 3.0 for Java ME 274The BeanShell Scripting Language 275Units specification (see Units of Measurement) 276Design-time Metadata for JavaServer Faces Components 277Java Module System 280XML API for Java ME 281IMS Services API (See IMS) 282Real-Time Specification for Java (RTSJ) 1.1 283Content repository API for Java (JCR) 2.0 286Portlet Specification 2.0 289SIP Servlet API 1.1 290 Java Language & XML User Interface Markup Integration (XML-UI) 291Dynamic Component Support for Java SE (see OSGi) 292Supporting Dynamically Typed Languages on the JavaTM Platform 293Location API 2.0 for Java ME 294Improved Modularity Support in the Java Programming Language 296Swing Application Framework (Java SE 7) 299Contexts and Dependency Injection for the Java EE platform (CDI)WeldOpenWebBeans 301JSF Portlet Bridge 303Bean ValidationHibernate Validator 307Network Mobility and Mobile Data API (not official as of July, 20th, 2007 but official release is planned for 2. Q. 2008 308Annotations on Java Types (Java SE 8) 311JAX-RS: The Java API for RESTful Web Services (1.0 and 1.1) 314JavaServer Faces (JSF) 2.0Mojarra JavaServer FacesApache MyFaces 316Java Platform, Enterprise Edition (Java EE) 6 317Java Persistence API (JPA) 2.0 EclipseLinkHibernate, openJPA 322Java EE Connector Architecture (JCA) 1.6 325IMS Communication Enablers (ICE) (See IMS) 330Dependency Injection for Java HK2 336Java SE 7 Release Contents[OpenJDK 7]? 337Java SE 8 Release Contents[OpenJDK 8]? 338Java Persistence API (JPA) 2.1 EclipseLinkHibernate, openJPA 339JAX-RS 2.0: The Java API for RESTful Web Services 343Java Message Service 2.0 (JMS) 352Java BatchIBM Java Batch JBeret, Spring Batch 354Java Money & Currency API 356Java API for WebSocket 365Contexts and Dependency Injection for Java 2.0Weld 367 Java API for JSON Binding (JSON-B) Eclipse Yasson Jackson 370 Java API for RESTful Web Services (JAX-RS) 2.1 Project Jersey 374 Java API for JSON Processing 1.1 Eclipse JSON-P Jackson 376 Java Platform Module System (supersedes 277 380Bean Validation 2.0Hibernate Validator 901The Java Language Specification, Third Edition (JLS) (as of J2SE 5.0 incorporates changes from JSRs 14, 41, 133, 175, 201, and 204) 907Java Transaction API (JTA) 1.0 and 1.1 912Java 3D API 1.3 913Java Community Process (JCP) 2.0, 2.1 & 2.5.JSR 913 originally specified JCP 2.0. It was subsequently amended by various changes to voting rules to produce version 2.1 and then further changed by licensing rules, policy, and processes to get to version 2.5. JCP 2.6 is defined by JSR 215. 914Java Message Service (JMS) API 1.0 and 1.1 924Java Virtual Machine Specification, Second Edition (JVM) (as of J2SE 5.0).JSR 924 originally specified changes to the JVM to support changes in J2SE 5.0. a maintenance update to support changes proposed by JSR 202 is underway.OpenJDK 926Java 3D API 1.5

Criticism

The JCP's executive board has been characterized as a "rubber stamp organization" since Oracle acquired Sun Microsystems (the original developer of the Java language).

The Apache Software Foundation resigned its seat on the board in December 2010 because Oracle was unwilling to license the Technology Compatibility Kit for Apache's version of Java.

JCP Program and Industry Awards Source:The Java Community Process(SM) Program - Press & Success - News Stories. Jcp.org. Retrieved on 2013-07-17.