说一下 JVM 运行时数据区 ?

这篇具有很好参考价值的文章主要介绍了说一下 JVM 运行时数据区 ?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、程序计数器(Program Counter Register)

二、Java 虚拟机栈(Java Virtual Machine Stacks)

三、本地方法栈(Native Method Stack)

四、Java 堆(Java Heap)

五、方法区(Methed Area)


说一下 JVM 运行时数据区 ?,生平不知JVM,学遍八股也枉然,jvm,java,面试

一、程序计数器(Program Counter Register)

当前线程所执行的字节码的行号指示器,字节码解析器的工作是通过改变这个计数器的值,来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能,都需要依赖这个计数器来完成(为什么要线程计数器?因为线程是不具备记忆功能)

二、Java 虚拟机栈(Java Virtual Machine Stacks)

每个方法在执行的同时都会在Java 虚拟机栈中创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息;(栈帧就是Java虚拟机栈中的一个单位)

三、本地方法栈(Native Method Stack)

与虚拟机栈的作用是一样的,只不过虚拟机栈是服务 Java方法的,而本地方法栈是为虚拟机调用 Native 方法服务的;(Native 关键字修饰的方法是看不到的,Native 方法的源码大部分都是 C和C++ 的代码)

四、Java 堆(Java Heap)

Java 虚拟机中内存最大的一块,是被所有线程共享的,几乎所有的对象实例都在这里分配内存;

五、方法区(Methed Area)

用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译后的代码等数据。文章来源地址https://www.toymoban.com/news/detail-834209.html

到了这里,关于说一下 JVM 运行时数据区 ?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【jvm】运行时数据区

    一、运行时数据区 一、作用 1.内存是非常重要的系统资源,是硬盘和CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的JVM对于内存的划分方式和管理机制存在着

    2024年02月10日
    浏览(39)
  • JVM运行时数据区

    JVM运行时数据区包括:JVM栈(虚拟机栈),堆,方法区,本地方法栈,PC寄存器。大概的划分就是栈和堆,以及一些其他的结构。重点在JVM栈,堆,方法区。JVM规范指出:方法区在逻辑上属于堆,但是实际的具体的JVM中并不属于堆的一部分。 在JVM栈中会发生GC和Error,但是在其

    2024年02月08日
    浏览(42)
  • JVM - 运行时数据区域

    并发情况下,会发生线程之间的上下文切换,当 线程1 的CPU时间片用完后,需要程序计数器记录 线程1 的下一条JVM指令的地址,等下一次 线程1 继续运行的时,才能从正确的位置开始继续执行 程序计数器是线程私有的 , 既 一个线程计数器 记录一个 线程 的指令位置 而且程

    2024年02月15日
    浏览(34)
  • java八股文面试[JVM]——JVM内存结构

    参考: JVM学习笔记(一)_卷心菜不卷Iris的博客-CSDN博客 JVM 是运行在操作系统之上的,它与硬件没有直接的交互 JVM内存结构:   方法区:存储已被虚拟机加载的类元数据信息(元空间) 堆:存放对象实例,几乎所有的对象实例都在这里分配内存 虚拟机栈:虚拟机栈描述的是

    2024年02月12日
    浏览(47)
  • 面试八股——JVM★

    类加载 类加载器的定义 类加载器的类别 类装载的执行过程 类的装载过程: 加载: 验证: 准备: 这里设置初始值并不是传统意义的设置初始值(那个过程在初始化阶段)。 解析: 初始化: 使用: 类的回收(被垃圾器回收) 回收时机 垃圾定位——可达性分析法 可作为

    2024年04月23日
    浏览(32)
  • JVM运行时数据区(上篇)

    JVM运行时数据区可分为线程共享的堆,方法区和线程独享的虚拟机栈、本地方法栈、程序计时器此外还有一个单独的直接内存,如下图所述: 程序计数器(Program Counter Register)也叫PC寄存器,每个线程会通过程序计数器记录当前要执行的的字节码指令的地址。 起始时计数器记

    2024年01月17日
    浏览(50)
  • JVM系列 运行时数据区

    第一章 运行区实验 JVM(Java虚拟机)运行区是Java程序在运行过程中被JVM所管理的内存区域。它包括了Java程序运行时的堆(Heap)、栈(Stack)、方法区(Method Area)、本地方法栈(Native Method Stacks)、程序计数器和直接内存(Direct Memory)等部分。 堆(Heap)是Java程序运行时用于

    2024年02月08日
    浏览(41)
  • JVM运行时数据区(下篇)

     紧接上篇:JVM运行时数据区(上篇)-CSDN博客  一般Java程序中堆内存是空间最大的一块内存区域。创建出来的对象都存在于堆上。 栈上的局部变量表中,可以存放堆上对象的引用。静态变量也可以存放堆对象的引用,通过静态变量就可以实现对象在线程之间共享。 字符串常

    2024年01月17日
    浏览(50)
  • 我的面试八股(JVM篇)

    Java内存区域和Java内存模型 不是一个东西 !!!!! Java内存区域,也就是 Java运行时数据区域 。是指Java虚拟机在运行时创建的一个内存区域,用于存储Java程序运行时所需要的数据结构和对象实例。Java运行时数据区包括堆、方法区、虚拟机栈、本地方法栈和程序计数器等部

    2023年04月16日
    浏览(40)
  • JVM运行时五大数据区域详解

            java虚拟机再执行Java程序的时候把它所拥有的内存区域划分了若干个数据区域。这些区域有着不同的功能,各司其职。这些区域不但功能不同,创建、销毁时间也不同。有些区域为线程私有,如:每个线程都有自己的程序计数器,则程序计数器随着用户线程创建而创

    2024年02月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包