它是否是“javax”非法(保留)软件包名称?
我发现java。*和javax。*是非法(保留)软件包名称(在“OCA Java SE 7程序员I学习指南”一书中)的信息。 当我尝试创建包“java”并从中运行类时,我收到:
Exception in thread "main" java.lang.SecurityException: Prohibited package name: java
但是当我从“javax”包运行类时,我没有收到任何错误。 在docs.oracle.com上,我发现只有信息:
Packages in the Java language itself begin with java. or javax.
所以......是不是“javax”非法名称? 也许这只是在Java EE或更旧版本的Java上是非法的(我已经在JDK 1.6.0_43和1.7.0_25上试过了)
javax.
用于扩展(可能在JRE内),因此确定可以在这些包中定义类。 IIRC,这可以通过添加javax.
在不可信的上下文中禁用javax.
到package.definition
安全属性(未选中)。
java.
是特别的,因为ClassLoader
阻止这些包中的非引导类加载器作为反Microsoft措施。
上一篇: Is it "javax" illegal(reserved) package name or not?
下一篇: How to reliably determine when UICollectionView layout has finished animating