Java.*和javax.*以及com.sun.*

本文详细解释了Java中不同包命名规范的区别,包括java.*、javax.*、com.sun.* 和 org.omg.*等,并探讨了它们在Java开发中的作用及意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java.* 是j2se的标准库,是java标准的一部分,是对外承诺的java开发的接口,通常要保持向后兼容,一般不会轻易修改。所有的jdk的实现(其他厂家的,在java.*上都是一样的)

javax.*也是标准,但是没有包含在标准库中,一般属于面向标准库的扩展,通常属于某个特定领域,不是一般性的api。所以以类似扩展的方式提供api,以避免jdk的标准库过大。但也不能排除某些早期的javax,后来并入到标准库中,所有也应该属于新版本JDK的标准库。比如jmx,jdk5以前是以扩展方式提供,但是jdk5以后就做为标准库的一部分了,所有javax.management也是jdk5的标准库的一部分。

com.sun.*和org.omg.* 一般是sun的hotspot虚拟机中java.*和javax.*的实现类。但因为包含在rt中,所以我们也可以调用。但因为不是sun对外公开承诺的接口,所以根据根据实现的需要随时增减,因此在不同版本的hotspot中可能是不同的,而且在其他的jdk实现中是没有的,调用这些类,会损失掉一些一致性和向后兼容性。

 

# Add project specific ProGuard rules here. # You can control the set of applied configuration files using the # proguardFiles setting in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} # Uncomment this to preserve the line number information for # debugging stack traces. #-keepattributes SourceFile,LineNumberTable # If you keep the line number information, uncomment this to # hide the original source file name. #-renamesourcefileattribute SourceFile ## 萤石云 SDK 混淆规则 #-keep class com.ezviz.** { *; } #-keep class com.videogo.** { *; } #-keep class com.media.** { *; } #-dontwarn com.ezviz.** #-dontwarn com.videogo.** #-dontwarn com.media.** #========SDK对外接口=======# -keep class com.ezviz.opensdk.** { *;} #========以下是hik二方库=======# -dontwarn com.ezviz.** -keep class com.ezviz.** { *;} -dontwarn com.ez.** -keep class com.ez.** { *;} -dontwarn com.hc.CASClient.** -keep class com.hc.CASClient.** { *;} -dontwarn com.videogo.** -keep class com.videogo.** { *;} -dontwarn com.hik.TTSClient.** -keep class com.hik.TTSClient.** { *;} -dontwarn com.hik.stunclient.** -keep class com.hik.stunclient.** { *;} -dontwarn com.hik.streamclient.** -keep class com.hik.streamclient.** { *;} -dontwarn com.hikvision.sadp.** -keep class com.hikvision.sadp.** { *;} -dontwarn com.hikvision.netsdk.** -keep class com.hikvision.netsdk.** { *;} -dontwarn com.neutral.netsdk.** -keep class com.neutral.netsdk.** { *;} -dontwarn com.hikvision.audio.** -keep class com.hikvision.audio.** { *;} -dontwarn com.mediaplayer.audio.** -keep class com.mediaplayer.audio.** { *;} -dontwarn com.hikvision.wifi.** -keep class com.hikvision.wifi.** { *;} -dontwarn com.hikvision.keyprotect.** -keep class com.hikvision.keyprotect.** { *;} -dontwarn com.hikvision.audio.** -keep class com.hikvision.audio.** { *;} -dontwarn org.MediaPlayer.PlayM4.** -keep class org.MediaPlayer.PlayM4.** { *;} #========以上是hik二方库=======# #========以下是第三方开源库=======# # JNA -dontwarn com.sun.jna.** -keep class com.sun.jna.** { *;} # Gson -keepattributes *Annotation* -keep class sun.misc.Unsafe { *; } -keep class com.idea.fifaalarmclock.entity.*** -keep class com.google.gson.stream.** { *; } # OkHttp # JSR 305 annotations are for embedding nullability information. -dontwarn javax.annotation.** # A resource is loaded with a relative path so the package of this class must be preserved. -keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase # Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. -dontwarn org.codehaus.mojo.animal_sniffer.* # OkHttp platform used only on JVM and when Conscrypt dependency is available. -dontwarn okhttp3.internal.platform.ConscryptPlatform # 必须额外加的,否则编译无法通过 -dontwarn okio.** #========以上是第三方开源库=======#依据上述代码解决这两个报错:Unresolved class name,comma, dot, extends or implements expected, got '*'
最新发布
06-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值