zoukankan      html  css  js  c++  java
  • 第2章 认识JAVA虚拟机的基本结构

    2.1 虚拟机的内存划分

      

    • 垃圾回收系统既回收堆,也回收方法区和直接内存
    • 直接内存其实是一块不受JVM管理的内存,但是收到计算机内存的限制

    2.2 虚拟机参数

      -Xmx:虚拟机最大可用内存

    2.3 堆

      

      新生对象在eden和s0或者s1,每一次垃圾回收幸存下来的对象会倒腾到另一个s区并且岁数增大,大到一定程度就放到老年代。

    2.4 栈

      栈对应线程私有内存,线程每次调用方法对应一个栈帧入栈,方法正常返回或者抛出异常对应栈帧出栈。

      栈的深度决定函数调用的最大的次数,如果栈满了回在此区域发生OOM。

    2.4.1 局部变量表

      方法里的参数和局部变量存在于栈帧的局部变量表中。局部变量是GCRoots的重要组成部分,凡是被局部变量引用的对象都不可以回收。

        

    2.4.2 操作数栈

      字节码是一个面向栈的机器码

    2.4.3 帧数据区

      用来支持常量池解析。当方法需要使用常量池里的常量的时候,在帧数据区里存放指向该常量的指针。

      

      

  • 相关阅读:
    python接口测试3-JSON格式
    python接口测试2-开发WEB接口
    接口测试1-基础
    Apifox接口测试管理工具
    python的pip安装超时问题解决
    ubuntu解决安装速度问题
    vim进入粘贴模式
    禅道数据库
    内存管理
    文件操作
  • 原文地址:https://www.cnblogs.com/AshOfTime/p/10554160.html
Copyright © 2011-2022 走看看