JEP proposed to target JDK 18: 408: Simple Web Server

Alan Bateman Alan.Bateman at
Tue Oct 12 07:52:01 UTC 2021

On 11/10/2021 22:54, Joe Darcy wrote:
> There are distinct evolution and compatibility policies for several 
> categories of APIs associated with the JDK, several broad buckets:
> * Java SE APIs (approximately public and protected elements of the 
> java.* modules, which include the java.* and javax.* packages): These 
> APIs have a strong compatibility policy, but can be removed from the 
> platform after going through the deprecation-for-removal process.
> * official JDK APIs (approximately public and protected elements of 
> the jdk.* modules): similar compatibility policy to Java SE APIs, but 
> there is more leeway on the timing and size of changes. For example, 
> it is more likely to have API changes to JDK APIs in an update release 
> (rather than a feature release) compared to changes in Java SE APIs 
> (since changing a Java SE in a maintenance release would require a 
> maintenance review of the platform specification).
Just to add to Joe's mail is that moving to a modular platform in Java 9 
has eliminated a lot of the historical confusion over JDK-specific APIs. 
In particular, the javadoc, e.g. Java 17 [1], you can quickly see the 
JDK-specific modules and the API packages that they export. In the case 
of the HTTP server the module is jdk.httpserver. The API packages that 
is exported have been documented/supported APIs since JDK 6. One of 
those API packages is the SPI for developing alternative implementation 
and it look like Jetty has had an implementation of that SPI for several 
releases so I suspect Jetty has been compiling against this API for a 
long time.



More information about the jdk-dev mailing list