JVM

0 篇文章 0 订阅

1、Java运行机制

java程序首先编译成字节码文件 .class文件——>通过JVM进行解析执行——>转换为0101机器码在计算机上运行。

2、JVM内存结构图

Java程序在运行时,需要在内存中分配空间。为了提高运算效率,就对数据进行了不同的空间的划分,因此每一片区域都有特定的数据处理方式和内存管理方式。

具体划分为如下五个内存空间(非常重要)

A、栈:存放局部变量——>线程私有,生命周期和线程相同。栈由一系列帧组成(因此Java栈也叫做帧栈),帧保存一个方法的局部变量、操作数栈、常量池指针,每一次方法调用创建一个帧,并压栈。        每一次方法被调用直至执行完成的过程,对应着一个栈帧在虚拟机中从入栈到出栈的过程。       

B、堆:存放所有new出来的东西——>和程序开发密切相关,应用系统对象都保存在JAVA堆中、所有线程共享Java堆、对于分代GC来说堆也是分代的、GC管理的主要区域。

C、方法区:被虚拟机加载的类信息、常量、静态常量等——>保存装载的类信息,类型的常量池,字段、方法信息,方法字节码。长和永久区(Perm)关联在一起。  

D、程序计数器(和系统相关)——>每个线程拥有一个PC寄存器,在线程创建时创建,指向下一条指令的地址。执行本地方法时,PC的值为undefined。

E、本地方法栈:  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值