JLS, JSR, JEP
Groups
Individuals and organisations with a mutual interest around a broad subject or a specific body of code. Some examples are Security, Networking, Swing, and HotSpot.
Projects
Efforts to produce a body of code, documentation or other effort. Must be sponsored by at least one group. Recent examples are Project Lambda, Project Jigsaw, and Project Sumatra.
JLS (Java Language Specification)
- This is a specification for the Java Language. The JLS specifies the syntax for the Java programming language and other rules that say what is or is not a valid Java program. It also specifies what a program means; i.e. what happens when you run a (valid) program.
- https://docs.oracle.com/javase/specs/index.html
JEP (Java Enhancement Proposal)
- A JEP is a document that is proposing an enhancement to Java core technology. These are proposals typically for enhancements that are not ready to be specified yet.
- JEPs allow promoting a new specification informally before or in parallel to the JCP, when further exploration is needed. Unlike JSRs, may also contain features that have no specification-level visibility (e.g. new garbage collector or JIT implementation).
- Accepted JEPs become a part of the JDK roadmap and assigned a version number.
- http://openjdk.java.net/jeps
JSR (Java Specification Request)
- A JSR is a document created as part of the Java Community Process (JCP) that is setting the scope for a team of people to develop a new specification.
- The actual specification of the feature happens in this stage, can be either coming through Groups/Projects, JEPs or from individual JCP (Java Community Process) members.
- An umbrella JSR is usually opened for each Java version (Also called a platform JSR), this has yet to happen with Java 9.
- https://jcp.org/en/jsr/all
The relationship between JEPs, JSRs and specifications
- JEPs propose and develop experimental ideas to the point where they could be specified. Not all JEPs come to fruition.
- JSRs take mature ideas (e.g. resulting from a JEP), and produce a new specification, or modifications to an existing specification. Not all JSRs come to fruition.
- A specification is a common work product of a JSR. The JLS is an example of a specification. Others include the JVM specification, the Servlet and JSP specifications, the EJB specifications and so on.
Yorumlar
Yorum Gönder