Java千百问_02基本使用(010)_java、javax、sun、org包有什么区别

点击进入_更多_Java千百问

1、java、javax、sun、org包有什么区别

java、javax、org、sun包都是jdk提供的类包,且都是在rt.jar中。rt.jar是JAVA基础类库(java核心框架中很重要的包),包含lang在内的大部分功能,而且rt.jar默认就在根classloader的加载路径里面,所以放在classpath是多此一举 。他们之间的区别具体如下:

了解java核心框架看这里:java核心框架是什么样的

  • java.*

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

  • javax.*

    也是java标准的一部分,但是没有包含在标准库中,一般属于标准库的扩展。通常属于某个特定领域,不是一般性的api。

    所以以扩展的方式提供api,以避免jdk的标准库过大。当然某些早期的javax,后来被并入到标准库中,所有也应该属于新版本JDK的标准库。比如jmx,java 5以前是以扩展方式提供,但是jdk5以后就做为标准库的一部分了,所有javax.management也是jdk5的标准库的一部分。

  • com.sun.*

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

  • org.omg.*

    是由企业或者组织提供的java类库,大部分不是sun公司提供的,同com.sun.*,不具备向后兼容性,会根据需要随时增减。其中比较常用的是w3c提供的对XML、网页、服务器的类和接口。

时间: 2024-11-04 02:49:21

Java千百问_02基本使用(010)_java、javax、sun、org包有什么区别的相关文章

Java千百问_02基本使用(015)_java如何通过汇编方式运行

点击进入_更多_Java千百问-基本使用 1.java如何通过汇编方式运行 java本身不能通过汇编方式运行.但是,我们可以通过某些插件,在运行中将java代码解释为汇编指令,让我们能够通过分析执行的汇编指令来查找一些问题,也可以帮助我们分析和理解JVM是如何解释和编译的(当然java本身的编译和运行和汇编无关). PrintAssembly是JVM的一个运行参数,它允许我们获取在控制台打印java代码翻译成的汇编指令.使用PrintAssembly需要一些插件的支持,这些并不是JVM直接提供的

Java千百问_02基本使用(014)_mac系统如何管理环境变量

点击进入_更多_Java千百问-基本使用 1.mac系统如何管理环境变量 mac系统中管理环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.具体配置方法如下: 系统级 通过修改./etc/profile文件来配置,全局(公有)配置,不管是哪个用户,登录时都会读取该文件.不建议修改这个文件. 用户级 ./etc/bashrc,全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件. .b

Java千百问_02基本使用(009)_eclipse如何设置BuildPath

点击进入_更多_Java千百问 1.eclipse如何设置BuildPath 我们知道运行java应用需要依赖jre以及程序中使用的第三方jar包,我们使用java命令运行时,一般会手工指定-classpath(默认为操作系统的CLASSPATH环境变量),eclipse提供了方便的引入功能,针对不同工程可以选择加载不同的classpath. 了解java如何运行看这里:[java程序如何运行][2] [2]: 具体配置方法如下: 右击工程–>Preferences–>Java Build P

Java千百问_02基本使用(013)_linux系统如何管理环境变量

点击进入_更多_Java千百问 1.linux系统如何管理环境变量 我们都知道windows的环境变量的配置已经完全被图形化了,我们可以在我的电脑的属性中简单的进行配置,那么对于linux这样没有图形化配置的操作系统应该如何配置呢?我们具体来看: linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.具体配置方法如下: 系统级 通过修改/etc/profile./etc/environment文件配

Java千百问_02基本使用(008)_eclipse如何关闭代码验证

点击进入_更多_Java千百问 1.eclipse如何关闭代码验证 我们知道eclipse会在编译时对java代码.文本.标记文本等等进行验证,但是,这个过程在文件多的时候非常缓慢,通常会影响我们的开发效率.这里我们介绍一下如何选择性关闭这个功能. 选择性关闭: 具体方法:windows–>Preferences–>Validation 在下面有一个列表,可以根据自己需要选择关闭验证功能(选中状态是需要验证).当然这里还可以自定义验证规则.其中: "Build"列是指文件在

Java千百问_02基本使用(012)_如何编写非阻塞SocketChannel程序

点击进入_更多_Java千百问 1.如何编写非阻塞SocketChannel程序 了解Socket看这里:Socket是什么 了解 SocketChannel看这里:Socket.SocketChannel有什么区别 使用SocketChannel的最大好处就是可以进行非阻塞IO,每次链接后都会直接返回,不会阻塞线程.将需要多个线程的任务通过几个线程就能完成,降低了了性能消耗. 了解阻塞.非阻塞看这里:阻塞.非阻塞有什么区别 要编写SocketChannel,需要了解java.nio包中如下几个

Java千百问_02基本使用(011)_如何编写单线程Socket程序

点击进入_更多_Java千百问 1.如何编写单线程Socket程序 了解Socket看这里:Socket是什么 编写Socket最简单的就是单线程的Socket,但基本上是没有实用意义的,因为在实际的应用中基本上是不止于一个Client的.一般都是多线程Socket程序. 了解多线程Socket看这里:[如何编写多线程Socket程序][3] [3]: 要编写Socket,需要了解java.net包中提供了两个类Socket和ServerSocket,他们分别用来表示Socket的客户端和服务端

Java千百问_02基本使用(006)_eclipse如何保存时格式化

点击进入_更多_Java千百问 1.eclipse如何打开保存时格式化 我们都知道,为了让代码可读性更高,eclipse提供了代码格式化的功能,一般指定了对应format文件(eclipse会默认自带)后,通过快捷键Ctrl+Shift+F来进行格式化. 然而,很多时候并不方便,而且在修改完代码后容易忘记.其实还有一种更好的方法:保存时自动格式化.每次保存都会自动格式化,十分方便. 方法如下: 具体方法:windows–>Preferences–>Java –> Editor–>S

Java千百问_02基本使用(012)_如何编写多线程Socket程序

点击进入_更多_Java千百问 1.如何编写多线程Socket程序 了解Socket看这里:Socket是什么 多线程Socket与单线程类似,只是使用了多线程的方式来管理连接,主线程负责接收连接,在接到连接后变创建新的线程,每个线程负责与自己的客户端进行通信. 了解单线程Socket看这里:如何编写单多线程Socket程序 与单线程Socket例子相比来说,服务端可以与多个客户端进行通信了,不过多线程频繁的创建与销毁便会带来很大的资源开销,而系统的网络资源等都是有限的.因此一般会引入线程池,可