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

  • 相关阅读:
    编程随想——从基础开始,顺其自然
    多个SSH私钥配置不当导致Git push 失败的分析及解决方法
    VPS配置记录
    COCI 2010.03.06 T5「PROGRAM」题解
    筛素数
    你的第一个程序--基本输入输出介绍,头文件介绍
    入门指北目录
    尺取法
    HAOI2006 (洛谷P2341)受欢迎的牛 题解
    c++并查集配合STL MAP的实现(洛谷P2814题解)
  • 原文地址:https://www.cnblogs.com/lev1/p/11061683.html
Copyright © 2011-2022 走看看