美文网首页
java虚拟机-区域划分

java虚拟机-区域划分

作者: justlinzhihe | 来源:发表于2017-12-06 17:52 被阅读0次
IMG_0133.JPG
  • Method Area(Non-Heap)(方法区) ——线程共享
  • Heap(堆) ——线程共享
  • Program Counter Register(程序计数器) ——非线程共享
  • VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的)——非线程共享
  • Native Method Stack ( 本地方法栈 )——非线程共享

Method Area(Non-Heap)(方法区) ——线程共享

存储加载的类信息,常量,静态变量,即时编译后的代码数据等。
其中运行时常量池存放编译器生成的各种字面量和符号引用。运行期也可能将数据放入,比如说String的intern()方法

Heap(堆) ——线程共享

jvm中区域最大的一块,在虚拟机启动的时候创建,大小通过-Xmx -Xms 控制

Program Counter Register(程序计数器) ——非线程共享

线程切换的时候记录程序执行的位置地址,唯一一个没有内存溢出的区域。

VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的)——非线程共享

描述java方法执行的内存模型,每个方法执行的时候都会建立一个栈帧,用于存储局部变量表,操作数栈,动态链接,方法出口等信息。溢出有两种,一种是StackOverflowError,栈深度溢出,另一种是OutOfMemoryError,内存溢出。

Native Method Stack ( 本地方法栈 )——非线程共享

同上

相关文章

  • Java[虚拟机]-Java内存区域学习总结

    Java[虚拟机]-Java内存区域学习总结 学习博客:java虚拟机内存区域的划分以及作用详解:https://...

  • JVM内存模型学习

    内存划分 java虚拟机按照运行时内存使用区域划分如图: 一、线程私有区 虚拟机栈1、虚拟机栈描述的是Java方法...

  • 【2】JVM内存区域

    Java虚拟机会在执行Java程序的时候,把它管理的内存区域划分为若干不同的数据区域。这里,按照是否线程共享划分:...

  • 【深入Java虚拟机(1)】:Java内存区域与内存溢出

    内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范...

  • 理解Java垃圾回收算法

    内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范...

  • Java内存模型

    本文主要介绍 1.Java虚拟机内存区域 2.判断对象是否存活算法 3.GC算法 一.Java虚拟机内存区域划分 ...

  • JVM的内存模型

    Java内存区域——堆,栈,方法区等 深入理解java虚拟机(一)虚拟机内存划分 深入理解java虚拟机(十) J...

  • 全面理解Java内存模型(JMM)及volatile关键字

    理解Java内存区域与Java内存模型 Java内存区域 Java虚拟机在运行程序时会把其自动管理的内存划分为以上...

  • 理解Java内存模型(JMM)

    理解Java内存区域与Java内存模型 Java内存区域 Java虚拟机在运行程序时会把其自动管理的内存划分为以上...

  • Java内存区域与异常

    Java虚拟机在运行时会把其管理的内存划分为若干不同的数据区域。《Java虚拟机规范》规定的数据区域通常包括程序计...

网友评论

      本文标题:java虚拟机-区域划分

      本文链接:https://www.haomeiwen.com/subject/nijlixtx.html