JAVA基础-JVM的介绍

JAVA基础-JVM的介绍

1.名词介绍

JVM是是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
引入java虚拟机后,java语言可以再不同平台上运行不需要重新编译。java语言使用java虚拟机屏蔽了与具体相关的信息,使得Java语言编译程序只需生成在java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改的运行。

2.概述

java虚拟机有自己完善的硬件架构,如处理器、堆栈等,还具有相应的指令系统。
Java虚拟机本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。Java语言的可移植性正是建立在Java虚拟机的基础上。任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。
Java虚拟机不仅是一种跨平台的软件,而且是一种新的网络计算平台。该平台包括许多相关的技术,如符合开放接口标准的各种API、优化技术等。Java技术使同一种应用可以运行在不同的平台上。Java平台可分为两部分,即Java虚拟机(Java virtual machine,JVM)和Java API类库。

3.java代码执行过程

在这里插入图片描述

4.JVM内存模型

在这里插入图片描述
1.栈:存放一个个的栈帧,每个栈帧对应一个被调用的方法,每个栈帧中存储有(局部变量表、操作数栈、指向运行时常量池的引用、方法返回地址、附加信息),先进后出
2.堆:用来存储对象本身的以及数组(数组的引用村方法java栈中),堆被所有线程共享的,在jvm中只有一个堆。
3.本地方法栈:和栈作用和原理相似。区别是java栈是为执行java方法服务的,本地方法栈是为本地java方法服务的
4.程序计数器(PC寄存器):程序计数器是用于存放下一条指令所在单元的地址的地方。
5.方法区:与堆一样,是被线程共享的区域。在方法区中,存储了每个类的信息(包括类的名称、方法信息、字段信息)、静态变量、常量以及编译器编译后的代码等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值