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文件存在)。

  • 相关阅读:
    内存的分页管理方式解释
    分组统计SQL
    NUMA导致的Oracle性能问题
    SQL Server死锁的解决过程
    PHP创建对象的6种方式
    PHP编程20大效率要点
    php设置随机ip访问
    php使用QueryList轻松采集JavaScript动态渲染页面
    正确理解 PHP 的重载
    PHP 核心特性之匿名函数
  • 原文地址:https://www.cnblogs.com/M-98k/p/12330262.html
Copyright © 2011-2022 走看看