2 认识java虚拟机的基本结构

本文介绍了Java虚拟机的基本结构,包括类加载子系统、堆、线程私有的Java栈、PC寄存器以及方法区。重点讲解了栈帧、局部变量表、帧数据区和栈上分配的技术,阐述了这些组件在内存管理和方法调用中的作用。
摘要由CSDN通过智能技术生成

2 认识java虚拟机的基本结构

image

类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类信息外,方法区还会存放运行时常量池信息,包括字符串字面量和数值常量。

java堆在虚拟机启动时建立,它是java程序中最主要的内存工作区域。几乎所有的java对象实例都存放在java堆中。堆空间是所有线程共享的。

每一个java虚拟机线程都有一个私有的java栈。一个线程的java栈在线程被创建的时候被创建。java栈中保存着帧信息。

PC寄存器也是每个线程的私有的空间,java虚拟机会为每一个java线程创建PC寄存器。在任意时刻,一个java线程中总是在执行一个方法,这个被正在执行的方法称为当前方法。如果当前方法不是本地方法,PC寄存器就会指向当前正在被执行的指令。

设置java虚拟机参数

java [-opitions] class [args]

示例

java -Xmx32m geym.zbase.ch2.SimpleArgs a // 设置系统最大可用堆空间为32m

函数如何调用

在java栈中主要保存的内容就为栈帧。每一次函数调用ÿ

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值