zoukankan      html  css  js  c++  java
  • JVM-运行时数据区

    1:JVM运行时数据区(JVM Runtime Area)其实就是指JVM在运行期间,其对计算机内存空间的划分和分配。

     

    运行时数据区
      class---->变量 变量 方法 --->JVM如何分散 操作?


    方法区和堆

    方法区:
      类信息,常量,静态变量。即时编译器编译后的代码

      生命周期是随着虚拟机启动而启动,所以他是所有线程共享的区域。

      Although the method area is logically part of the heap

      非堆,JDK1.7 perm space Jdk.1.8Metar space

    堆:
      对象和数组分配的区域

      生命周期是随着虚拟机启动而启动,所以他是所有线程共享的区域。

    线程独有的一些内容


    线程是为了执行方法 :java虚拟机栈---->栈帧----->

    java虚拟机栈:一个线程对应一个java虚拟机栈,线程执行发放给你的时候每个方法代表被装进去的栈帧

    本地方法栈:方法是native的

    PC寄存器:记录当前线程执行的位置(也就是方法执行到的位置)

    运行时常量池:编译时期生成的各种字面量和符号引用


    线程共享:方法区 堆 ---->线程不安全

    线程独享:java虚拟栈 pc寄存器 --->线程安全


    方法的执行 栈帧

    栈帧(方法)包含的内容
    a-局部变量表:局部变量的
    b-操作数栈: 栈结构进行保存 先进先出
    c-动态链接:
    d-方法返回地址->

    Topic 2. 虚拟机栈是什么?虚拟机栈里有什么?

    Topic 3. 栈帧是什么?栈帧里有什么?

    Topic 4. 方法区是什么?方法区里有什么?

     

    运行数据区是个逻辑模型,要靠物理模型实现,就是JVM的内存模型:https://www.cnblogs.com/lanqingzhou/p/12374882.html

  • 相关阅读:
    运算符优先级问题
    文件操作工具,需者自取
    Text文档编码识别方法
    删除重复文件的程序
    修道士和野人问题
    猜数字游戏
    存储器层级图
    IL指令汇总
    输入1~8,每个数字不重复
    厦门大学线下编程比赛第一题:求和
  • 原文地址:https://www.cnblogs.com/lanqingzhou/p/12374544.html
Copyright © 2011-2022 走看看