对JDK的深入理解
今天对Java的jdk有了更加深入的理解:
Java的jdk其实一共包含三部分内容:
1、工具包
2、类库
3、JRE
jdk的全名:Java develop kit (java开发工具)
jdk包含了对Java的编译以及运行的处理,他能对编写的Java代码进行编译,编译之后的字节码文件,在jdk内部的虚拟机上运行,可以说它提供了全套的Java服务,首先,我们先来说说编译,一般的代码都是通过编译之后才能产生字节码文件,以前一些低级语言,他们是直接生成机器码,也就是我们经常说到的0,1码来直接运行在机器上的,这个0,1,就是过去的人用纸带进行编写代码的另一种表现形式,但是这种方法有个弊端,就是不能跨平台,高级语言Java就解决了这个问题,他在jdk中嵌入了一个虚拟机,生成的也不再是之前的机器码了,而是另一种叫做字节码的东西,jdk通过在虚拟机上运行字节码来实现和机器码一样的效果,这样就就提高了跨平台的性质,平台换了,只要虚拟机能识别出来就可以将代码进行处理,使其产生相同的结果,在整个体系结构上来说在机器上最底层的是硬件资源,再上一层就是操作系统,程序都是在操作系统上进行执行的,我们的字节码文件可不是直接运行在操作系统上,他和操作系统之间隔了一层虚拟机:
接下来,该说说这个运行的了,运行方面jdk提供了一个jre,在下载的时候可以单独下载这个jre,然而,我们应该知道的是,jre其实是jdk的一部分,他是jdk的子集。
jre全称:Java runtime environment (Java运行环境),这个提供了Java运行所需要的所有的东西,同时,jre对于将来工程的部署也起到一定的作用。
下面,我具体说一下jdk里边三个元素分别对应安装之后生成文件的内容:
1、对于工具包来说他有一个bin目录,它是用来放一些工具的,比如说Java.exe,这个是用来运行Java字节码的指令,javac.exe,这个使用来编译Java文件的,还有一个是jar.exe,这个用来打包文件用的。
2、对于类库来说,有一个目录叫lib,里边存了一些工具类的类库,通过这些类提供的方法方便对硬件进行管理,包括文件的存取,进程之间的通信
3、对于jre来说,他提供了程序运行的环境,前文已经提到过了,这里不再赘述。