zoukankan      html  css  js  c++  java
  • Java中 JVM JDK JRE的情况

    JDK: java development kit, java开发工具包,针对开发者,里面主要包含了jre, jvm, jdk源码包,以及bin文件夹下用于开发,编译运行的一些指令器。
    JRE: java runtime environment, java运行时环境,针对java用户,也就是拥有可运行的.class文件包(jar或者war)的用户。里面主要包含了jvm和java运行时基本类库(rt.jar)。rt.jar可以简单粗暴地理解为:它就是java源码编译成的jar包(解压出来看一下),用eclipse开发时,当你ctrl点击发现不能跳转到源文件时,需要把rt.jar对应的源码包加进来,而这里的源码包正是jdk文件夹下的src.zip。
    JVM: java虚拟机,将它理解为可以识别class文件的一个小型系统,class文件直接和它交互,所以它让class文件和用户真实的操作系统隔离,屏蔽了用户系统的差异性,给人一种感觉就是java出道的最大特点:一次编译,处处运行(跨平台)。而这也正是java跨平台引起过争议的一点,曾经一些人觉得java跨平台是个幌子,因为前提是用户机子上必须安装了JVM(准确地说是JRE)。
    JDK和JRE区别:去bin文件夹下你会发现,JDK有javac.exe而JRE里面没有,众所周知javac指令是用来将java文件编译成class文件的,这是你开发去做的事,用户是不会去做的。JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。
    JRE和JVM区别:有些人觉得,JVM就可以执行class了,其实不然,JVM执行.class还需要JRE下的lib类库的支持,尤其是rt.jar。

  • 相关阅读:
    windows server2012 R2 本地策略编辑
    iOS 获取相册中图片的名字 url
    iOS -[PFPASIDataCompressor compressBytes:length:error:shouldFinish:] in PFPGZIPInvocationCompressor.o
    iOS 系统根据导航栏和状态栏自动修改布局
    iOS 本地推送通知
    iOS开发日记59-推荐两本好书
    iOS开发日记57-详解Quartz 2D
    iOS开发日记56-详解UIImage
    iOS开发日记55-隐式与显式动画
    iOS开发日记54-Xcode7调试神技
  • 原文地址:https://www.cnblogs.com/xgzzzy16/p/9812232.html
Copyright © 2011-2022 走看看