Java 虚拟机内存模型

一、前言

Java 虚拟机,简称 JVM(Java Virtual Machine),是 Java 语言中最为核心的一个东西,Java 程序运行离不开它,因为它的存在,使得 Java 拥有“一次编译,多次运行”的特点。任何平台只要装有针对于该平台的 Java 虚拟机,字节码文件(.class)就可以在该平台上运行。

JVM 是 Java 中最难以理解、而且非常重要的知识点,也常常用来衡量一个人 Java 基本功是否牢靠,更是在面试中被问及最多、最频繁的知识点之一。本文将从 Java 虚拟机内存模型开始入手,一步步来了解它。

Java 虚拟机内存模型是 Java 程序运行的基础,为了使 Java 应用程序正常运行,JVM 将其内存数据分为程序计数器、虚拟机栈、本地方法栈、堆和方法区,如下图所示:

(在 JDK1.8 开始,已经去掉了方法区的概念,用元空间(Metaspace)进行了代替.)

程序计数器用于存放下一条运行的指令;虚拟机栈和本地方法栈用于存放函数方法调用堆栈信息;Java 堆用于存放 Java 程序运行时所需的对象等数据;方法区用于存放程序的元数据信息。

    其中,一部分是线程私有的,而另一部分却是线程共享的。

  • 线程私有:程序计数器、虚拟机栈、本地方法栈

  • 线程共享:堆、方法区

    </
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值