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,但是在执行字节代码后它们产生的输出在所有操作系统中都是相同的。

  • 相关阅读:
    [转]K/3加密控制规则
    修改Delphi2009的界面风格
    [转]软件版本号讲解: 什么是Alpha, Beta, RC
    百度程序题目连续数问题
    得到正整数a的16进制表示
    四舍五入至某小数位后返回数字串
    返回相同宽度数字型字符串
    百度程序题目连续数问题 另解
    求二进制表示中1的个数
    六支筷子取其二,恰为一双的概率
  • 原文地址:https://www.cnblogs.com/lev1/p/11061683.html
Copyright © 2011-2022 走看看