java学习——java基础(三)之JDK介绍

来源:互联网 发布:一级域名注册 编辑:程序博客网 时间:2024/05/16 12:34

写在前面:不知道不觉又周五了,又一周过去了,越发的坚定自己的路。看了公司内部心声社区的一些帖子,个人感觉公司内部出现了很大的问题,花了大价钱招来一群优秀的985高校硕士,但是将做web的放在云计算开发,将有云计算开发经验的扔到了维护和测试,资源得不到合理的利用。总是美名曰横向发展,然并卵,只想说,精兵强将无用武之地,只留秦桧等拍嘘之流,大清必亡!


只是偶有所感,言归正传,前面介绍了java中常用易混的概念和关键字,而忽视了JDK环境,那么今天对JDK进行简要的回顾。


1.JDK介绍

JDK是Java Development Kit 的缩写,是Sun Microsystems针对Java开发员的产品。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。想要开发java产品,需先安装JDK。

JDK具体结构如下图所示:


通过上图可知:JDK = JRE + Tools&Tool APIs + Java Language


JDK的核心是Java SE API。Java SE API是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。Java SE API包括一些重要的语言结构以及基本图形,网络和文件I/O。我们在自己的程序中,调用前辈们写好的这些Class,来作为我们自己开发的一个基础。当然,现在已经有越来越多的性能更好或者功能更强大的第三方类库供我们使用。一般来说,Java API的非I/O部分对于运行Java的所有平台是相同的,而I/O部分则仅在通用Java环境中实现。


JDK的种类:最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。


JRE(Java Runtime Environment,Java运行环境):运行JAVA程序所必须的环境的集合。J2RE是Java2 Runtime Environment,即Java运行环境,有时简称JRE.。如果你只需要运行Java程序或Applet,下载并安装它即可。如果你要自行开发 Java软件,请下载JDK。在JDK中附带有JRE。注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行 Applet,务必安装一个JRE或JDK,包含:

(1)Java Runtime Environment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java JVM标准实现、Java平台核心类库和支持文件。它不包含开发工具——编译器、调试器和其它工具。

(2)JRE所需辅助软件 ——Java Plug-in——以便在浏览器中运行applet.


JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的组成包括 JVM 指令集,符号表以及一些补助信息。


2.JDK常用基本工具

javac: Java源程序编译器,将Java源代码转换成字节码。

java: Java解释器,直接从字节码文件,又称为类文件。执行Java应用程序的字节代码(.class后缀的)。

appletviewer.exe:Java applet浏览器,一种执行HTML文件上的Java小程序的Java浏览器。

jar: java应用程序打包工具,可将多个类文件合并为单个JAR归档文件。

javadoc: Java API文档生成器从Java源程序代码注释中提取文档,生成API文档HTML页。

jdb:Java调试器(debugger),可以逐行执行程序,设置断点和检查变量。

javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件;

javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义;

jconsole:Java进行系统调试和监控的工具。


3.JDK目录结构

bin:JDK开发工具的可执行文件

lib:开发工具使用的归档包文件

jre:Java运行时环境的根目录,包含Java虚拟机,运行时的类包和Java应用启动器,但不包含开发环境中的开发工具

demo:含有源代码的程序示例

include:包含C语言头文件,支持Java本地接口与Java虚拟机调试程序接口的本地编程技术