Is it "javax" illegal(reserved) package name or not?
java, naming, package
Solution
`javax.` is used for extensions (possibly within the JRE), so sure it is possible to define classes within those packages. IIRC, this can be disabled in untrusted contexts by adding `javax.` to the `package.definition` security property (not checked).
`java.` is special because `ClassLoader` prevents non-bootstrap class loader in those packages as an anti-Microsoft measure.
Problem
I have found information that java.* and javax.* are illegal(reserved) package names(in the book "OCA Java SE 7 Programmer I Study Guide"). When I try create package "java" and run class from it, I receive: ``` Exception in thread "main" java.lang.SecurityException: Prohibited package name: java ``` but when I run class from "javax" package I receive no errors. On docs.oracle.com I've found only information: ``` Packages in the Java language itself begin with java. or javax. ``` so... is it "javax" illegal name or not? Maybe it's illegal only on Java EE, or older versions of Java?(I've tried it on JDK 1.6.0_43 and 1.7.0_25)