--- old/src/java.base/share/classes/java/io/InputStream.java 2019-09-06 11:11:22.330589001 -0700 +++ new/src/java.base/share/classes/java/io/InputStream.java 2019-09-06 11:11:22.146589001 -0700 @@ -56,6 +56,11 @@ private static final int DEFAULT_BUFFER_SIZE = 8192; /** + * Constructor for subclasses to call. + */ + public InputStream() {} + + /** * Returns a new {@code InputStream} that reads no bytes. The returned * stream is initially open. The stream is closed by calling the * {@code close()} method. Subsequent calls to {@code close()} have no --- old/src/java.base/share/classes/java/io/ObjectInputStream.java 2019-09-06 11:11:22.838589001 -0700 +++ new/src/java.base/share/classes/java/io/ObjectInputStream.java 2019-09-06 11:11:22.646589001 -0700 @@ -1321,6 +1321,10 @@ * Provide access to the persistent fields read from the input stream. */ public abstract static class GetField { + /** + * Constructor for subclasses to call. + */ + public GetField() {} /** * Get the ObjectStreamClass that describes the fields in the stream. --- old/src/java.base/share/classes/java/io/ObjectOutputStream.java 2019-09-06 11:11:23.346589001 -0700 +++ new/src/java.base/share/classes/java/io/ObjectOutputStream.java 2019-09-06 11:11:23.162589001 -0700 @@ -879,6 +879,10 @@ * @since 1.2 */ public abstract static class PutField { + /** + * Constructor for subclasses to call. + */ + public PutField() {} /** * Put the value of the named boolean field into the persistent field. --- old/src/java.base/share/classes/java/io/OutputStream.java 2019-09-06 11:11:23.866589001 -0700 +++ new/src/java.base/share/classes/java/io/OutputStream.java 2019-09-06 11:11:23.674589001 -0700 @@ -47,6 +47,11 @@ */ public abstract class OutputStream implements Closeable, Flushable { /** + * Constructor for subclasses to call. + */ + public OutputStream() {} + + /** * Returns a new {@code OutputStream} which discards all bytes. The * returned stream is initially open. The stream is closed by calling * the {@code close()} method. Subsequent calls to {@code close()} have --- old/src/java.base/share/classes/java/lang/InheritableThreadLocal.java 2019-09-06 11:11:24.394589001 -0700 +++ new/src/java.base/share/classes/java/lang/InheritableThreadLocal.java 2019-09-06 11:11:24.182589001 -0700 @@ -52,6 +52,11 @@ public class InheritableThreadLocal extends ThreadLocal { /** + * Creates an inheritable thread local variable. + */ + public InheritableThreadLocal() {} + + /** * Computes the child's initial value for this inheritable thread-local * variable as a function of the parent's value at the time the child * thread is created. This method is called from within the parent --- old/src/java.base/share/classes/java/lang/LiveStackFrame.java 2019-09-06 11:11:24.894589001 -0700 +++ new/src/java.base/share/classes/java/lang/LiveStackFrame.java 2019-09-06 11:11:24.690589001 -0700 @@ -116,6 +116,11 @@ */ public abstract class PrimitiveSlot { /** + * Constructor. + */ + PrimitiveSlot() {} + + /** * Returns the size, in bytes, of the slot. */ public abstract int size(); --- old/src/java.base/share/classes/java/lang/ThreadDeath.java 2019-09-06 11:11:25.486589001 -0700 +++ new/src/java.base/share/classes/java/lang/ThreadDeath.java 2019-09-06 11:11:25.234589001 -0700 @@ -49,4 +49,9 @@ public class ThreadDeath extends Error { @java.io.Serial private static final long serialVersionUID = -4417128565033088268L; + + /** + * Constructs a {@code ThreadDeath}. + */ + public ThreadDeath() {} } --- old/src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java 2019-09-06 11:11:26.150589001 -0700 +++ new/src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java 2019-09-06 11:11:25.882589001 -0700 @@ -459,6 +459,11 @@ */ public class Factory { /** + * Construct a factory. + */ + Factory() {} + + /** * Get a concrete subclass of the top class for a given combination of bound types. * * @param speciesData the species requiring the class, not yet linked --- old/src/java.base/share/classes/java/lang/invoke/ConstantBootstraps.java 2019-09-06 11:11:26.846589001 -0700 +++ new/src/java.base/share/classes/java/lang/invoke/ConstantBootstraps.java 2019-09-06 11:11:26.582589001 -0700 @@ -40,6 +40,12 @@ * @since 11 */ public final class ConstantBootstraps { + /** + * Do not call. + */ + @Deprecated(forRemoval=true, since="14") + public ConstantBootstraps() {} + // implements the upcall from the JVM, MethodHandleNatives.linkDynamicConstant: /*non-public*/ static Object makeConstant(MethodHandle bootstrapMethod, --- old/src/java.base/share/classes/java/lang/reflect/Modifier.java 2019-09-06 11:11:27.538589001 -0700 +++ new/src/java.base/share/classes/java/lang/reflect/Modifier.java 2019-09-06 11:11:27.274589001 -0700 @@ -43,6 +43,12 @@ * @since 1.1 */ public class Modifier { + /** + * Do not call. + */ + @Deprecated(forRemoval=true, since="14") + public Modifier() {} + /** * Return {@code true} if the integer argument includes the