问答详情
源自:3-2 修改内存

程序计数器和,堆 、栈、静态方法区 有什么区别呢?

程序计数器和,堆 、栈、静态方法区 有什么区别呢?

提问者:被代码打死的小强 2021-04-26 17:24

个回答

  • 慕梦前来
    2022-04-27 20:05:58

    栈区(stack sagment):由编译器自动分配释放,存放函数的参数的值,局部变量的值等,
    2、堆区(heap sagment) : 一般由程序员分配释放,若程序员不释放,程序结束时可能由系统回收 

    3、全局区(静态区)(data sagment):全局变量和静态变量的存储区域是在一起的,程序结束后由系统释放。数据区的大小由系统限定,一般很大。

    4、文字常量区:常量字符串就是放在这里的, 程序结束后由系统释放。

    5、程序代码区:存放函数体的二进制代码。

  • 慕梦前来
    2021-07-09 08:12:44

    每个线程都有一个独立的程序计数器,主要用于线程轮流切换时记录本线程执行进度的,等到下次切换到本线程时,会直接从计数器记录的位置开始执行指令(等同于当前线程执行进度的存储节点)