zoukankan      html  css  js  c++  java
  • jvm方法栈

    调用栈

        先入后出

    栈是一个只有一个口的容器,先进入栈的会落到栈底,出栈的时候最后出。最后进入栈的,在栈顶,出栈时先出。

    方法调用时,需要在内存中开辟一块存储空间做为线程栈空间

     每个线程都由自己的栈

    调用方法时,会在栈中压入一个栈帧,用来存储这个方法的参数和局部变量

    方法返回时 ,栈帧就会弹出,方法的参数和局部变量就会清除

    方法调用时,调用栈不断处于涨落之中

    如果调用的层级过深,调用栈可能会溢出

    因为代码执行的速度很快,所以栈帧的生存时间很短,瞬间生灭

      所以局部变量无法被外部使用

    此区域一共会产生以下两种异常:

    1. 如果线程请求的栈深度大于虚拟机所允许的深度(-Xss设置栈容量),将会抛出StackOverFlowError异常。
    2. 虚拟机在动态扩展时无法申请到足够的内存,会抛出OOM(OutOfMemoryError)异常
  • 相关阅读:
    Go 好用第三方库
    Go 的beego 框架
    Go 的gin 框架 和 gorm 和 html/template库
    Go 常用的方法
    Dijkstra 的两种算法
    邻接矩阵
    next permutation 的实现
    最优二叉树 (哈夫曼树) 的构建及编码
    思维题— Count the Sheep
    STL— bitset
  • 原文地址:https://www.cnblogs.com/Schrodinger6/p/11354495.html
Copyright © 2011-2022 走看看