zoukankan      html  css  js  c++  java
  • JVM的内存结构

    Java虚拟机运行时数据区图

    程序计数器

    程序计数器,可以看作当前线程所执行的字节码的行号指示器
    它是线程私有的。

    Java虚拟机栈

    • 线程私有的,生命周期与线程相同。
    • 每个方法被执行的时候都会创建一个"栈帧",用于存储局部变量表(包括参数)、操作数栈、动态链接、方法出口等信息。
    • 局部变量表存放各种基本数据类型boolean、byte、char、short等

    本地方法栈

    • 与虚拟机栈基本类似,区别在于虚拟机栈为虚拟机执行的java方法服务,而本地方法栈则是为Native方法服务。

    Java堆

    • Java堆是java虚拟机所管理的内存中最大的一块内存区域,也是被各个线程共享的内存区域,在JVM启动时创建。
      其大小通过-Xms和-Xmx参数设置,-Xms为JVM启动时申请的最小内存,-Xmx为JVM可申请的最大内存。

    方法区

    • 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。
    • 可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。
  • 相关阅读:
    golang语言调试
    Debugging golang programs
    Goroutines vs Threads
    3dmax联机分布式渲染方法技巧详解
    VVDocumenter-Xcode
    Hallelujah Leonard Cohen
    创作思维导图的步骤
    XMind 快捷键完整命令
    圣经中有关天使的记载
    电箱吉他的电流声简单处理办法!
  • 原文地址:https://www.cnblogs.com/sunbr/p/12829591.html
Copyright © 2011-2022 走看看