Review request for 6516909: (cl spec) ClassLoader.loadClass() clarification to indicate it shouldn't be used for array classes

Alan Bateman Alan.Bateman at oracle.com
Tue Jan 14 10:13:59 UTC 2014


On 13/01/2014 23:02, Mandy Chung wrote:
> Webrev:
> http://cr.openjdk.java.net/~mchung/jdk9/webrevs/6516909/webrev.00/
>
> This patch is to fix:
>
> 6516909: (cl spec) ClassLoader.loadClass() clarification to indicate 
> it shouldn't be used for array classes
> 4932272: (cl) Remove declaration of the unused private method 
> ClassLoader.defineClass0
>
> In JDK 5, parameter checking of ClassLoader.loadClass and other 
> methods was modified to validate if the given class name is a binary 
> name.  ClassLoader.loadClass cannot be used to load an array class; 
> instead it should use Class.forName.   This patch adds a sentence in 
> the "Binary Name" section in the ClassLoader class description to 
> clarify that.
>
> This patch also removes the "sun.lang.ClassLoader.allowArraySyntax" 
> system property that was added in JDK 5 to allow existing code to 
> workaround the incompatibility issue.  It was disabled by default in 
> JDK 6.  It's over 7 years and it's time to remove it.  Also remove the 
> unused private ClassLoader.defineClass0.
>
> Mandy
>
> [1] 
> http://www.oracle.com/technetwork/java/javase/compatibility-137462.html
This looks good to me, I assume JDK-6434149 can finally be closed too.

-Alan.



More information about the core-libs-dev mailing list