Java虚拟机(JVM)原理概述

1、虚拟机

        所谓虚拟机,就是一台虚拟的计算机,它是一款软件,原来执行一系列虚拟计算机的指令,可分为系统虚拟机和程序虚拟机。

       (1)系统虚拟机:比如非常有名的Visual Box,VMware等,它们完全是对网络计算机的仿真,提供了一个可运行完整操作系统的软件平台。

       (2)程序虚拟机:典型代表就是JVM,它专门为执行某个计算机程序而设计,在JVM中执行的命令称为java字节码指令。

        无论是哪种虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中。

2、JVM的作用

        

 

         上图显示了同一个Java程序(也就是Java字节码的集合)通过Java虚拟机运行于各大主流系统平台,该程序以虚拟机为中介,实现了跨平台的特性。

        

         在编译Java程序时,会将写好的源程序通过编译器编译生成.class文件(又称为字节码文件),再通过JVM内部的解释器将字节码文件解释成为具体平台上的机器指令执行,也就实现了Java程序的跨平台特性。对于每一条Java指令,jVM中都有详细定义,比如怎么处理、存放、操作数据等。

3、在JVM中4大组成部分及用途

        (1)类加载器

        (2)运行时数据区

        (3)执行引擎

        (4)本地库接口

        程序在执行之前先把Java代码转换成字节码(class文件)

       JVM首先需把字节码通过类加载器,把字节码加载到运行时数据区

        因为字节码是JVM的一套指令集规范,并不能直接由底层操作系统去执行

        所以需要特定的执行引擎,将字节码翻译成底层系统指令,再交给CPU去执行

        在这个过程中,需要调用其他语言的本地库接口来实现整个程序的功能。
        

       

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值