JVM简单介绍

本文介绍了JVM内存的四个主要区域:堆、栈、程序计数器和方法区,详细讲解了类加载的三个步骤和双亲委派模型。此外,探讨了JVM的垃圾回收机制,包括引用计数法和可达性分析两种判断对象是否为垃圾的方法,以及标记-清除、复制、标记-整理和迭代回收等经典算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


JVM 是 Java Virtual Machine 的简称,意为 Java虚拟机。

虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。

常见的虚拟机:JVM、VMwave、Virtual Box。

JVM 和其他两个虚拟机的区别:

  1. VMwave与VirtualBox是通过软件模拟物理CPU的指令集,物理系统中会有很多的寄存器;

  2. JVM则是通过软件模拟Java字节码的指令集,JVM中只是主要保留了PC寄存器,其他的寄存器都进行了裁剪。

JVM 是一台被定制过的现实当中不存在的计算机。

JVM内存区域划分

JVM内存区域主要有四部分:

  1. 程序计数器
  2. 方法区

【堆】

堆的作用:程序所创建的对象都是保存在堆里面的。

也就是说,堆的内存空间是最大的

【栈】

栈细分,还可以分为:

  1. Java虚拟机栈:Java代码使用的栈
  2. 本地方法栈:给JVM内部C++代码使用的栈,也就是给JVM中的本地方法使用的栈

栈中存放最关键的信息是方法之间的调用关系和局部变量

【方法区】

方法区里面存放的是类对象

类对象里面有什么?类对象里面有代码和静态变量

方法区里面还有个运行时常量池

运行时常量池是方法区的一部分&#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值