j2sdk(Software Development Kit for Java 2),简称JDK.它包括了JDK(Java Development Kit),JRE(Java Runtime Enviroment),Java Plug-in.我们通常所说的JDK以及下载并安装的JDK就是指它了.
JDK(Java Development Kit), Java开发工具包.JDK是一组API,也可以说是一些java Class。JDK是一切java应用程序的基础,所有的java应用程序是构建在这个之上的。他位于"Java安装目录\jdk1.5.0_07".
JRE(Java Runtime Environment),Java运行环境.
细心的人可能会发现在Java安装目录有两套JRE,一套位于"Java安装目录\jdk1.5.0_07\jre",一套位于"Java安装目录\jre1.5.0_07",为什么会有两套JRE呢?因为JDK里面有很多用Java所编写的开发工具(如javac.exe、jar.exe等),而且都放置在 <JDK安装目录>\lib\tools.jar 里,它们本身运行的时候也需要一套JRE,也就是前者。而后者的JRE是用来执行我们自己编写的JAVA程序。当然,两套JRE中的任何一套都可以用来执行我们自己编写的JAVA程序,但是JDK里面的工具只能由"Java安装目录\jdk1.5.x\"目录下的JRE来执行。
既然在我们的电脑里面至少有两套JRE,那么由谁来决定使用哪一套JRE呢?这个重担就落在java.exe的身上。
当我们在命令行输入:javaxxx的时候,java.exe的任务就是在我们电脑上众多的JRE中找到合适的JRE来执行xxx。java.exe依据以下顺序来寻找JRE:
(1)自己的目录下有没有JRE目录;
(2)父目录下有没有JRE目录;
(3)查询注册表HKEY_LOCAL_MACHINE\Software\JavaSoft\JavaRuntimeEnvironment\
所以java.exe的执行结果与我们电脑里哪一个java.exe(搜索一下就会发现我们电脑里面也不止一个java.exe)被执行以及哪套JRE来执行JVA程序有很大的关系。
另外,java.exe在找到合适的JRE以后,还有一个验证版本的程序,也就是java.exe与JRE的版本一致才可以执行。如果出现版本不一致的问题,一定要记得两件事情:
(1)哪一个java.exe被执行;
(2)java.exe找到哪一套JRE。
只要这两件事情确定了,我们就抓住了问题的来龙去脉,解决起来也就轻而易举了。
JVM是一个虚拟的计算机,能模拟各种计算机的功能,它有处理器、堆栈、寄存器等虚拟的硬件架构,同时还有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java语言编译程序只需生成在JVM上运行的目标代码(字节码),就可以在多种平台上不加修改地运行,从而实现Java程序的跨平台特性。JRE目录下的Bin目录有两个目录:server与client。这就是真正的jvm.dll所在。jvm.dll无法单独工作,当jvm.dll启动后,会使用explicit的方法(就是使用Win32 API之中的LoadLibrary()与GetProcAddress()来载入辅助用的动态链接库),而这些辅助用的动态链接库(.dll)都必须位于jvm.dll所在目录的父目录之中。
因此想使用哪个JVM,只需要设置PATH,指向JRE所在目录底下的jvm.dll。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1599333
分享到:
相关推荐
### JDK、JRE、J2SDK与Eclipse SDK之间的关系 #### 1. JDK与JRE的关系 **JRE(Java Runtime Environment)**,即Java运行时环境,它包含了运行Java程序所需的基本组件,如Java虚拟机(JVM)、核心类库等。简单来说...
### JDK与JRE的区别 在Java开发领域,经常会遇到JDK(Java Development Kit)与JRE(Java Runtime Environment)这两个概念。尽管它们都是Java技术体系中的核心组成部分,但两者之间存在明显的区别。本文将深入探讨...
### JDK与JRE的区别 #### 一、JDK与JRE的基本概念 ##### JDK(Java Development Kit) JDK,即Java开发工具包,是面向开发人员使用的软件开发工具包(SDK)。它包含了编译、调试和运行Java应用程序所需的所有工具...
标题中的"AIX JDK1.8 JRE1.8 32位"指的是IBM的Java开发工具包(JDK)和Java运行环境(JRE)的32位版本,这两个组件都是针对AIX操作系统设计的。AIX,全称Advanced Interactive eXecutive,是IBM推出的一种基于UNIX的...
2. **Java运行环境**:JRE(Java Runtime Environment)是J2SDK的一部分,它提供了执行Java应用程序所需的环境。包括Java虚拟机(JVM)、类库以及其他支持Java程序运行的基础组件。 3. **Javadoc**:这是一个文档...
它不仅包含了Java编译器、Java运行时环境(JRE),还提供了许多开发工具,如JavaDoc、Java虚拟机(JVM)、Java调试器(JDB)等。这个版本主要的新增功能包括: 1. **Lambda表达式**:这是Java 8最大的亮点之一,它...
2. "Java8_64.sdk.tar" 是JDK 1.8的64位版本,除了包含JRE的所有内容外,还提供了Java编译器(javac)、打包工具(jar)、文档生成工具(javadoc)等开发者工具。 3. "aix JDK8 - 64.txt" 可能是一份关于AIX平台上的...
深入理解Java 2 SDK:JDK、JRE与JVM 在探讨Java 2 SDK时,我们首先要明白几个核心概念:Java Development Kit (JDK),Java Runtime Environment (JRE)和Java Virtual Machine (JVM)。这三个术语在Java开发领域至关...
了解这个老版本的J2SDK可以帮助我们理解Java的发展历程,比如早期的内存管理和安全性控制,以及与现代JDK版本相比的性能和功能差异。对于学习Java历史、兼容性问题或研究软件演进的人来说,这是一个宝贵的资源。同时...
标题中的"apache-maven-3.6.3"指...Maven作为项目管理工具,与JDK一起帮助开发者构建、测试和部署Java应用程序,而JRE则提供了运行这些应用程序的基础。了解并熟练掌握这些工具的使用,对于Java开发人员来说至关重要。
在本例中,我们讨论的是一个较早的版本——"j2sdk1.4.2_08"。这个版本发布于2004年,是Java 2 Platform Standard Edition (J2SE) 1.4系列的一部分。 **Java 2 Platform Standard Edition (J2SE)**:J2SE是Java平台...
Java 2 SDK 1.4.2_07 是Oracle公司发布的一个早期版本的Java开发工具包,主要用于Java应用程序和应用程序服务器的开发、部署和管理。这个版本在当时被认为是相当稳定的,因此对于那些需要在旧系统上运行或者依赖于...
Java Development Kit(JDK)是Java编程语言的核心组件,它包含了一个Java运行环境(JRE)、编译器(javac)、各种工具(如jar、javadoc等)以及Java类库,使得开发者能够编写、编译、调试和运行Java程序。JDK的不同...
对于Java初学者而言,理解JDK与JRE的区别是非常重要的。JDK(Java Development Kit)和JRE(Java Runtime Environment)是与Java编程语言相关的两个核心概念,它们承担着不同的角色。 首先,JDK是面向Java开发人员...
IBM的JDK1.8 64位版本包含了Java运行环境(JRE)和Java开发工具集(SDK)。其中,JRE使得用户能够在AIX系统上执行Java程序,而SDK则提供了编译、调试和性能分析等开发所需工具。 在提供的压缩包文件中,有两个重要...
例如,在示例中,`JAVA_HOME=C:\j2sdk1.4.2_04`,意味着JDK安装在`C:\j2sdk1.4.2_04`目录下。这是必须设置的一个环境变量,因为在很多情况下,其他程序会依赖于该变量来找到JDK的位置。 - **CLASSPATH**:这是一个...