zoukankan      html  css  js  c++  java
  • JVM学习笔记-JVM模型

    JVM学习笔记

    ==

    标签(空格分隔): jvm


    学习笔记全部来自于《深入理解java虚拟机》总结

    • jvm内存示意图

    • 虚拟机栈(Java Virtual Machine Stacks):

    为虚拟机执行java方法(字节码)服务

    1. 局部变量表
    2. 操作数栈
    3. 动态链表
    4. 方法出口
    
    - 虚拟机栈主要储存各种基本数据类型,对象引用等(由局部变量表实现)
    - 每个方法创建时都会创建一个栈帧(Stack Frame)
    - 每个方法从调用到执行完成 <>栈帧的入栈到出栈
    
    *异常*
    
    1. 如果线程请求的栈深度大于虚拟机所允许的深度,将会跑出StackFlowError(栈溢出)异常
    2. 如果扩展时无法申请到足够内存就会抛出OutOfMemoryError(内存溢出)异常
    • 本地方法栈(Native Method Stack):

    为虚拟机执行Native方法服务

    异常与虚拟机栈一样

    • Java堆(Java Heap)线程共享

    存放对象实例
    GC堆

    • 方法区(Method Area)线程共享

    用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据

    异常

    1. 方法区无法满足内存分配需求时,将抛出OutOfMemoryError 异常。
    • 运行时常量池(Runtime Constant Pool)

    用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后存放到方法区的运行时常量池中。

  • 相关阅读:
    node 第一天
    VUE全局api
    VUE01指令
    位置属性
    dom总结
    animate.css与wow.js制作网站动效
    继承要点
    css3
    linux创建程序启动
    https://www.meitulu.com/ java下载图片
  • 原文地址:https://www.cnblogs.com/lancexu/p/9505502.html
Copyright © 2011-2022 走看看