zoukankan      html  css  js  c++  java
  • 关于Java虚拟机JVM的简单了解

    JVM主要功能

    Java是一种高级编程语言。 
    用高级语言编写的程序不能直接在任何机器上运行。 
    首先,需要将其翻译成特定的机器语言,javac编译器就专门来干这个事儿的,它把Java程序(含有的.java源代码文件)转换成机器代码(称为字节码或.class文件)。

    Java虚拟机(JVM)是安装在我们计算机中的虚拟机,JVM自己的机器语言是字节码。 
    这样子Javac编译器就好处理啦,因为它只需要为JVM生成字节码就行了,而不是为每种类型的机器生成不同的机器代码。

    JVM执行Javac编译器生成的字节码并生成输出就OK了。JVM正是java跨平台的原因。 
    所以,现在我们知道JVM的主要功能是执行编译器生成的字节码。

    每个操作系统都有不同的JVM,但是在执行字节码后它们产生的输出在所有操作系统中都是相同的。 
    这意味着在Windows上生成的字节代码可以在Mac OS上运行,反之亦然。 
    这就是我们将java称为平台无关语言的原因,下图展示了这个过程:

    JVM总结: 
    Java虚拟机(JVM)是在实际机器(您的计算机)上运行并执行Java字节代码的虚拟机。 
    JVM不了解Java源代码,这就是为什么我们需要使用javac编译器来编译* .java文件, 从而获取包含JVM理解的字节代码的* .class文件。 
    JVM使java可移植(一次编写,随处运行)。 
    每个操作系统都有不同的JVM,但是在执行字节代码后它们产生的输出在所有操作系统中都是相同的。

  • 相关阅读:
    MATLAB批量读入图片
    MATLAB小技巧
    Ubuntu下OpenCV不能被某个python版本识别
    切换Ubuntu系统python默认版本的方法
    LoadRunner内部结构(2)
    LoadRunner例子:检查点为参数的一个例子
    LoadRunner中字符串的操作
    LoadRunner脚本实例来验证参数化的取值
    LoadRunner编程之文件的操作
    LoadRunner关联函数的脚本实例--如何操作关联参数
  • 原文地址:https://www.cnblogs.com/lev1/p/11061683.html
Copyright © 2011-2022 走看看