首页 > 其他 > 详细

JVM基础知识

时间:2020-08-27 12:23:38      阅读:53      评论:0      收藏:0      [点我收藏+]

JVM基础


Java程序的执行过程

? 一个java程序首先经过javac编译成 .class 文件,然后 JVM 将其加载至方法区,执行引擎将会执行这些字节码。执行时,会翻译成操作系统相关的函数。JVM作为 .class 文件的翻译存在,解释字节码,调用操作系统函数

? java虚拟机(Java Virtual Machine)可以识别 .class 后缀的文件,并且能够解析它的指令,最终调用操作系统上的函数,完成我们想要的操作。

? 过程如下:Java 文件 -> 编译器 -> 字节码 -> JVM -> 机器码

? JVM是一个虚拟化的操作系统,类似于Linux或者Windows的操作系统,只是它架在操作系统上,接受字节码即 .class ,把字节码翻译成操作系统上的机器码且进行执行

  • 跨语言(语言无关性)**:JVM只识别字节码,即与语言解耦。像Groovy,Kotlin,Scale等语言,其实也是编译成字节码,所以它们也可以在JVM上跑
JVM的内存区域

技术分享图片

Java方法的运行与虚拟机栈

技术分享图片

每个方法对应一个栈帧,虚拟机栈用于存储当前线程运行方法所需的数据,指令,返回地址

栈帧的结构

技术分享图片

JVM基础知识

原文:https://www.cnblogs.com/potofsalt/p/13570494.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!