关于java:JVM内存结构

15次阅读

共计 544 个字符,预计需要花费 2 分钟才能阅读完成。

JVM 内存构造

一图理解 JVM 内存构造

途中蓝色局部是各线程共享的数据区,其它构造是线程隔离的数据区。

各内存构造性能

  • 程序计数器
    程序计数器是线程公有的。程序计数器是以后线程所执行字节码的行号指示器。
  • Java 虚拟机栈

    Java 虚拟机栈是线程公有的。虚拟机栈形容的是 Java 办法执行的线程内存模型,每个办法执行的时候,Java 虚拟机栈都会创立一个栈帧。而每个栈帧中次要蕴含四个局部:局部变量表,操作数栈,动静连贯,办法进口。

  • 本地办法栈

    本地办法栈也是线程公有的。与虚拟机栈类似,只不过虚拟机栈为字节码服务,而本地办法栈为本地办法 (Native 办法) 服务。

  • Java 堆

    Java 堆是虚拟机所治理的内存中最大的一块。Java 堆是被所有线程共享的一块虚拟内存区域。在虚拟机启动时创立。Java 堆的惟一目标就是寄存对象实例,所有的对象实例以及数组都应在堆上调配。

  • 办法区

    办法区是各个线程共享的内存区域,它用于存储已被虚拟机加载的类型信息、常量、动态变量、即时编译器编译后的代码缓存等数据。

    • 运行时常量池

      Class 文件中除了有类的版本、字

      段、办法、接口等形容信息外,还有一项信息是常量池表(Constant Pool Table),用于寄存编译期生

      成的各种字面量与符号援用,这部分内容将在类加载后寄存到办法区的运行时常量池中

正文完
 0