`

java深度-----jre为什么有两个

    博客分类:
  • J2SE
阅读更多
1.如果安装了jdk,那么在jdk1.x文件夹下会有一个jre,一般在其他地方,通常是c:\xx\jre,所以如果安装jdk,那么会有两个jre,为什么呢?

虽然说 jre 是字节码文件就能运行,但是他是.class的运行环境,jdk中多了很多东西,比如javac.exe,这些东西可以编译java,但是javac.exe这些东西也都是java写的,我们可以把这些东西看成是.class,那么如果要使用这个javac.class文件 ,当然也需要有一个jre来运行啦。。。。所以jdk里面提供了一个jre,这个jre是给这些.exe文件使用的


java.class------->本机程序库.dll------>JVM.dll------>辅助程序库

2.那么既然机器中可能有两套JRE,那由谁来决定使用那一套呢?这个艰巨的任务落在了java.exe身上,当输入java.exe命令执行一个java程序时,他会按照下面的方法来寻找合适的JRE
java.exe位于jre\bin目录下。。。。。javac.exe在jdk\bin下面
找jre就是为了定位虚拟机----虚拟机一般是client/jvm.dll文件
1。首先查找自己的目录是否有JRE
2.查看父目录是否有JRE
3.查看系统配置(如在Windows系统中,回去查看注册表中的HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment项目)






分享到:
评论

相关推荐

    java深度历险——王森

    关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题,如何来寻找类的路径问题。把这两...

    java深度历险.pdf

    《Java深度历险》这本书主要探讨了Java编程语言的深度知识,涵盖了从早期版本到Java 2 SDK的演进历程。Java是由Sun Microsystems开发的一种高级编程语言,最初被称为OAK,后来发展为Java 1.0,并逐步演变为Java 1.1...

    Java深度历险.pdf

    《Java深度历险.pdf》这份文档主要围绕Java技术的一些深入理解和应用展开,涵盖Java的运行环境(JDK和JRE)、Java虚拟机(JVM)、Java程序的运行机制以及Java开发工具的配置等多方面的知识。接下来,我将对文档中...

    eclipse-inst-jre-linux64.tar.gz

    "eclipse-inst-jre-linux64.tar.gz" 是为Linux平台设计的Eclipse安装程序,包含了JRE(Java运行环境)的64位版本。这个压缩包的目的是为没有预先安装JRE的Linux用户简化Eclipse的安装过程。 首先,我们需要了解`....

    InsideJava(Java深度历险)

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

    Java深度历险[借鉴].pdf

    Java深度历险:探索JDK与JRE的内在关系 Java是一种广泛使用的跨平台编程语言,其核心在于Java Development Kit (JDK) 和 Java Runtime Environment (JRE)。JDK是Java开发工具集,包含了编写、编译和调试Java应用...

    java深度历险 详细讲解了java的package机制等

    本篇将深入探讨这两个概念,以及如何通过Visual Studio .NET来操控Java虚拟机(JVM),同时还会涉及Java 2 Software Development Kit(SDK)的深入理解。 首先,`package`机制是Java中的一个核心特性,它用于将相关...

    JDK和JRE文件的区别

    在深入探讨JDK(Java Development Kit)与JRE(Java Runtime Environment)之间的区别之前,我们先来定义一下这两个概念。JDK是Java开发工具包,它包含了编译、运行和调试Java应用程序所需的所有工具;而JRE则是Java...

    java 深度探险

    理解这两个组件的区别和功能对于Java开发者来说至关重要,因为它们直接影响到代码的编写、测试和优化过程。 书中的内容可能包括但不限于以下几个方面: 1. **基础语法**:从变量、数据类型、运算符,到流程控制...

    IBM SDK, Java Technology Edition Version 6-aix user guide

    此外,指南还介绍了如何使用LIBPATH环境变量和LDR_CNTRLenvironmentvar,这两个环境变量对于Java程序的加载和运行至关重要。LIBPATH环境变量在Unix系统中用来指定链接库的位置,而LDR_CNTRLenvironmentvar用来控制...

    java深度历险

    这就是为什么JDK安装目录下需要一套JRE的原因。而`program files`目录下的JRE则是供运行用户编写的Java应用程序使用的。 综上所述,Java深度历险这篇文章深入探讨了J2SDK的结构,JRE的组成和作用,以及Java开发工具...

    java深度历险1

    《Java深度历险》是一本深入探讨Java技术的权威教程,尤其关注JDK(Java Development Kit)的内部工作机制。本书的目的是带领读者深入了解Java平台的核心技术,帮助开发者从底层理解Java程序的运行机制,从而更好地...

    JVM参数优化及JVM解析.docx

    根据JVM参数的设置,堆可以被划分为新生代和老年代,新生代又进一步细分为Eden区和两个Survivor区。5、方法区:也称为永久代,存储类的信息、常量、静态变量等,JDK 8之后被元空间(Metaspace)取代,元空间使用的是...

    Java sdk深度历险

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

    Java HotSpot Virtual Machine-2007-Peter-Kessler.pdf

    此外,它还拥有两个运行时编译器,即 `-client` 和 `-server` 模式,以适应不同的性能需求。 - **栈上替换(OSR)**:这是一种优化技术,当方法在执行过程中被频繁调用时,可以将正在执行的字节码替换为已编译的...

    JAVA深度历险

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

    Java后端技术面试汇总-2019

    - **Set和hashCode以及equals方法的联系**:hashCode用于定位元素位置,equals用于判断两个元素是否相等。 - **List和Map区别**: - **List**:按插入顺序存储元素。 - **Map**:键值对形式存储数据。 - **...

    基于java的人脸识别系统+源码---百度ai

    通过计算两个特征向量之间的距离或相似度,可以判断两张人脸是否属于同一个人。常用的比较方法有欧氏距离、余弦相似度等。 **6. `test_face_photo` 文件** 在压缩包中,`test_face_photo` 可能是一组测试用的人脸...

Global site tag (gtag.js) - Google Analytics