zoukankan      html  css  js  c++  java
  • jvm、jre、jdk三者区别

    jvm、jre、jdk区别

      刚刚遇到的问题,搭建docker所需的环境,需要将jvm与tomcat压缩文件传到虚拟机上,以为jvm就是jdk的包,查了一下,其实不是。

      哈哈,原谅我是小白咯。

      下面就说说吧。

    1、jvm:java虚拟机,负责把.class 二进制文件翻译成不同系统上的机器操作指令。因此JVM实现了java的跨平台运行,它把它可识别的.class 文件在不同平台上翻译成不同的机器操作指令,可以在windows、linux上等不同平台上运行。jvm负责把class文件加载进内存, 它包含类加载器子系统,运行时数据区:方法区(静态区)、堆(new的对象)、栈(局部变量和方法的中间结果)、程序计数器、本地方法,垃圾回收系统、执行引擎。

    2、jre:java运行环境,它包含了jvm和java项目运行所需要的java 类库,  java.util  java.sql  java.long   java.net 等。如果不编译只运行,那么有jre就可以了,java 命令负责拉起 JVM。

    3、jdk:包含jre和编译等开发java项目所需要的一些工具,这些工具都在 jdk安装目录下的 bin目录下,包括 javac.exe  java.exe  jar.exe  jvisiovm.exe、jconsole 等负责 编译、运行 和项目调试等。

          在eclipse中执行 run as java application的时候,其实是调用 jdk的 java exe,javac 命令工具,根据 .classpath 的配置去找项目的本身的class文件和依赖的jar包的文件(classpath 里会去maven仓库里找依赖的jar包,不是找 targer下的lib包),然后执行的。
         classpath配置的是java类库的位置以及执行字节码文件时查找文件的路径。 Java执行环境本身就是一个平台,执行于这个平台上的程序是已编译完成的Java程序( 会以.class文件存在)。

  • 相关阅读:
    【C++】虚函数
    ZF-net
    bzoj1061【NOI2008】志愿者招募
    highcharts 绘制图标的JAVASCRIPT 类库 收藏
    C语言中的const,free使用方法具体解释
    Java Transaction Management
    从有序数组中查找某个值 low_bound
    [华为机试练习题]35.找零钱
    1.9算法入门之进制转换
    uboot移植rtc
  • 原文地址:https://www.cnblogs.com/M-98k/p/12330262.html
Copyright © 2011-2022 走看看