zoukankan      html  css  js  c++  java
  • 深入了解JVM

    JVM由四部分构成

    1、Classloader :加载class文件

    2、Native interface:负责调用本地接口,作用调用非JAVA语言的接口给JAVA用

    3、Excution Engine :执行引擎  加载完class文件后,文件中的指令和数据会放在内存中,它负责把指令和数据解释给操作系统

    4、Runtime Data Area:运行时数据区 分为六个部分:pc Register、stack、method Area、Heap、Native Method stack

    pc Register:(寄存器) 保存JVM正在运行的指令的地址  生命周期随着线程

    stack:(堆栈 受限的线性表 只能在栈顶插入和删除  入栈操作是 先把sp-2  在压入数据  出栈操作是先 弹出数据 再把 sp+2  ) 每一个线程的创建  都有一个栈的创建  用来保存栈帧

        栈帧:每个方法的执行时创建  用于保存方法的局部变量数组、操作栈数(在编译时确定  固定不变)

    Method Area:(方法区) (堆内存永生代)  在JVM启动时创建 用于保存静态变量、常量和方法信息

        常量池

    Heap:(堆  完全二叉树)  存放基本数据类型的实例  分为 新生代、老生代、永久代

    新生代:Eden  80% survivor 10% survivor 10%

    二  GC


    1、一般采用分代收集算法   :  Minor GC  速度快频率高  Full GC 速度慢  频率小

  • 相关阅读:
    Docker基本架构
    Dockerfile怎么创建镜像
    Dockerfile的指令
    Dockerfile基本结构
    Docker其它安全特性
    运行项目psychologicalTest
    第2章 安装Nodejs 2-4 Linux下安装Nodejs
    第2章 安装Nodejs 2-3 Windows下安装Nodejs
    第2章 安装Nodejs Nodejs基础 课程介绍
    2-2 第二天 利用 QQ 浏览器代理调试端口
  • 原文地址:https://www.cnblogs.com/xyd51cto/p/8192615.html
Copyright © 2011-2022 走看看