`

j2sdk jdk jre jvm

    博客分类:
  • JAVA
阅读更多

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的身上。
当我们在命令行输入:java xxx的时候,java.exe的任务就是在我们电脑上众多的JRE中找到合适的JRE来执行xxx。java.exe依据以下顺序来寻找JRE:
(1)自己的目录下有没有JRE目录;
(2)父目录下有没有JRE目录;
(3)查询注册表HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\
所以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。

 

分享到:
评论

相关推荐

    深入Java 2 SDK

    JDK、JRE、以及JVM 及初学配置 非常清晰的PDF

    Java sdk深度历险

    本书特色有:说明JDK,JRE与JVM三者的关系:探讨Java应用程序的执行流程,让您以后不会再为JDK与JRE的版本问题苦恼;讲解类别载入器的运作机制:类别载入器兼具Java程序的弹性与安全性两项重大任务,您不能不了解它...

    jdk与jre的区别 很形象,很清晰,通俗易懂

    简单的说JDK是面向开发... 如果安装了JDK,会发同你的电脑有两套JRE,一套位于 \jre 另外一套位于 C:\Program Files\Java\j2re1.4.1_01 目录下,后面这套比前面那套少了Server端的Java虚拟机,不过直接将前面那套的Serv

    jdk-13.0.2_windows-x64_bin.zip

    JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。 JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。 SE(JavaSE),standard edition,标准版,是我们通常用的一个...

    jdk-8u201-windows-i586.exe

    JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

    InsideJava(Java深度历险)

    本书特色有:说明JDK,JRE与JVM三者的关系:探讨Java应用程序的执行流程,让您以后不会再为JDK与JRE的版本问题苦恼;讲解类别载入器的运作机制:类别载入器兼具Java程序的弹性与安全性两项重大任务,您不能不了解它...

    JAVA 开发环境 Java SE Development Kit (JDK) 16.0.1 x64 免费下载.zip

    作为最常用的 Java 软件开发套件(SDK),JDK 的第一手组件包括 Java 应用程序的加载器(简称为 Java),即由编译器(javac)创建的类文件的解释器,该编译器本身就是源代码。从原始格式到 Java 字节码的代码,以及...

    java高效学习之路-过来人经验

    下载好的JDK是一个可执行安装程序,默认安装完毕后会在C:“Program Files“Java“目录下安装一套JRE(供浏览器来使用),在C:“j2sdk1。4。2下安装一套JDK(也包括一套JRE)。然后我们需要在环境变量PATH的最前面...

    JAVA深度历险

    本书特色有:说明JDK,JRE与JVM三者的关系:探讨Java应用程序的执行流程,让您以后不会再为JDK与JRE的版本问题苦恼;讲解类别载入器的运作机制:类别载入器兼具Java程序的弹性与安全性两项重大任务,您不能不...

    JDK的下载与安装视频

    JDK是 Java 语言的软件开发工具包(SDK)。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。

    JAVA 开发环境 Java SE Development Kit (JDK) 16.0.1 x64.zip

    作为最常用的 Java 软件开发套件(SDK),JDK 的第一手组件包括 Java 应用程序的加载器(简称为 Java),即由编译器(javac)创建的类文件的解释器,该编译器本身就是源代码。从原始格式到 Java 字节码的代码,以及...

    corejava基础重要知识点总结

    底层的功臣:JVM = java虚拟机 = 1 + 2 + 3 = 秘书 + 保镖 + 翻译 = 秘书 = 类加载器 = ClassLoader = 保镖 = 字节码校验器 = ByteCode Verifier = 翻译 = 解释执行器 = Interfreter 2:安全 健壮 电力 电信 ...

    Java 9 Revealed: For Early Adoption and Migration

    Preview the new Java 9 modules, SDK, JDK, JVM and more in this comprehensive early adopter title. This book covers what’s new in Java 9 and how to use these new features. Java 9 Revealed is for ...

    毕业设计订餐系统源码-JavaLearn:javaSE演示

    在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。 1.1jdk JDK(Java Development Kit) 是整个JAVA的核心,...

    1.java基础数据结构 2.java基础算法 3.java设计模式.rar

    Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。其基本思想是使用对象、类、继承、...1.3 JVM、JRE和JDK的关系是什么? JDK是(Java Development Kit)的缩写,它是功能齐全的 Java SDK。它拥有 JRE 所拥

    graalvm-ce-deb:graalvm社区版的debian软件包

    VERSION=20.0.0 ./build安装sudo dpkg -i {graalvm-deb-path}将GraalVM安装到主要JRE / JDK对于包含.jinfo文件的安装,您可以在已安装的替代方法中设置主要的jre / sdk安装。此命令设置所有与jre / jdk相关的二进制...

    新版Android开发教程.rar

    o JDK 5 or JDK 6 (JRE alone is not sufficient) o Android Development Tools plugin (optional) o Not Not Not Not compatible with Gnu Compiler for Java (gcj) Other development environments or IDEs o JDK ...

    java版斗地主源码-interview:面试

    java版斗地主源码 ...SDK。它拥有JRE所拥有的一切,还有编译器(javac)和工具(如javadoc和jdb)。它能够创建和编译程序。 JRE 是 Java运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,包括 Java虚拟

    八字java源码-tyb.github.io:TahaYavuzBodur博客

    上,它看起来像是在/usr/lib/jvm/java-6-openjdk/ for OpenJDK 中,在其他一些子目录中/usr/lib/jvm/用于 Suns JDK(我认为还有其他实现)。 问题是,虽然我通过符号链接在 jre 中找到了可执行文件(我可以为 jdk ...

Global site tag (gtag.js) - Google Analytics