像javax
包含扩展名一样,com.sun
包应该包含什么?
最佳答案
它包含标准Java(EE)API的Sun Oracle引用实现。 Mojarra(Oracle的引用JSF实现)和Glassfish(Oracle的引用Java EE实现)等都使用此包。最好不要在代码中直接使用这些类,因为这样会使您的代码与实现紧密耦合。直接使用java(x)
API进行编码,您无需更改代码即可直接更改实现(例如,用MyFaces代替Mojarra,用JBoss AS代替Glassfish)。
请注意,不应将com.sun.*
软件包与sun.*
软件包混淆,后者是Oracle JRE的内部类,您应该在代码中absolutely not导入/使用ojit_a导入/使用,因为这会使您的代码与JRE生成/版本紧密耦合。完全不使用sun.*
包,您就可以在所有其他JRE实现(OpenJDK,GCJ等)上运行代码。