qq_36152559 2017-03-14 10:25 采纳率: 100%
浏览 1333
已采纳

Java运行时,方法在内存中的存在方式

class A{
public void checkAll(){}

 public void static main(String[] args){

}
}

在运行时内存中main()方法和checkAll()都是以栈的存储方式存在的么?请大神解惑

  • 写回答

3条回答

  • 夕阳雨晴 2017-03-14 10:51
    关注

    有个叫做方法区的地方;
    内存总体分为了4个部分,包括 stack segment、heap segment、code segment、data segment。
    其中我们程序中用关键字new出来的东西都是存放在heap segment。
    程序中的局部变量存放在stack segment,这些局部变量是在具体方法执行结束之后,系统自动释放内存资源(而heap segment中的资源需要java垃圾回收机制来处理)。
    程序中的方法,是内存中的code segment中的,而且是多个对象 共享一个代码空间区域。
    static静态变量,需要放在内存中的data segment中。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!