Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In addition, this feature may affect code that assumes that the application class loader or the extension class loader is an instance of URLClassLoader, rather than of an internal class.

In addition, this This feature may also affect code that attempts to set or read the bootclasspath using the -Xbootclasspath  or the -Xbootclasspath/p options, or the removed  JDK-specific system property sun.boot.class.path.

Changes due primarily to the introduction of the Java Platform Module System may affect code which

  • expects that applying the public modifier to an API element guarantees that the element will be everywhere accessible, or 
  • expects to use ClassLoader::getResource* and Class::getResource* methods to read JDK-internal resources, or
  • expects to use the java.lang.reflect.AccessibleObject::setAccessible method to gain access to members of packages that are not exported by their defining modules, or
  • as JVM TI agents expect to be able to instrument Java code that runs early in the startup of the run-time environment. 

Existing code that invokes ClassLoader::getSystemClassLoader and blindly casts the result to URLClassLoader, or does the same thing with the parent of that class loader, might not work correctly.

 Existing custom class loaders that delegate directly to the bootstrap class loader might not work correctly; they should be updated to delegate to the extension class loader.

 The five-parameter transform method declared in thejava.lang.instrument.ClassFileTransformer interface is now a default method. 

 Existing code that scans for META-INF/services resource files previously found in rt.jar and other internal artifacts which are not present in the corresponding system modules files might not work correctly.

 The JDK-specific system property file.encoding can be set on the command line via the -D option, as before, but it will only work when it specifies a charset defined in the base module. Existing launch scripts that specify other charsets might not work correctly.

Removed support for 1.5 and earlier source and target options

...