您的位置:首页 > 编程语言 > Java开发

java web 基础知识(一)之jre,jdk,jvm

2015-07-17 17:56 323 查看
把一个项目部署起来是我们程序员必须会做的,也是入职要做得第一件事。以前部署的时候知道该做什么,但是却从来没有想过它的原理是什么。我花了一个星期的时间(工作时间除外),看了不少的资料,也结合自己项目中遇到的疑惑点整理了几篇博客。当然这只是笔者认为的能够解释通自己疑惑点的理论,或许有些错误在里面,如果您有更好地理解,请指教。

首先,我们要知道的就是什么是JRE,什么是JDK,什么是JVM。(为什么有两个jre文件夹)

三个概念:

JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

JRE:Java Runtime Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。JRE包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。

JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file)。

我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

一个疑问:

有这么一个情况,不知道大家有没有注意?我们安装完JDK后,会出现这样的两个文件夹:



其实你点开jdk里面,你还会发现一个Jre文件夹.



那为什么有两个Jre呢?
JDK里面的工具几乎都是用Java所撰写的,所以JDK本身就是Java应用程序,因此要使用JDK附的工具来开发Java程序,也必需要自行附一套JRE才行,这就是<jdk安装目录>\jre底下需要一套JRE的原因。而与jdk并列的那套JRE就是哪来执行我们自己撰写的Java应用程序。不过,两套JRE都可以用来执行我们自己写的程序,可以JDK内附的开发工具预设置使用包装器启动的情况下,都会自己去选择用<jdk安装目录>\jre底下的那套JRE。

加深理解:

这里我们还是需要加深理解,通过前文我们知道凡是用java编写的应用程序,都要使用JRE来运行。那么我们常见的什么都是用java开发的呢?

1.我们自己的项目
2.JDK里面的工具
3.tomcat
4.eclipse

所以我们知道了,运行这些东西都是需要JRE的。有时候我们可能使用一个版本的JRE,有时候我们可能使用不同的JRE。可能出现一个项目中使用了三个版本的JRE,现在应该不迷惑了吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: