zoukankan      html  css  js  c++  java
  • java 堆与栈的区别

    1. 堆与栈的区别?
     1-1. 数据存放位置:   数据都存放于RAM (Random Access Memory).
     1-2. 存放数据的类型:stack栈中保存方法中的基本数据类型(int, double, float, char.)
                                   heap堆中保存类的对象(用过new等方式创建的对象)
     1-3. 与线程的关系:  在多线程应用中,每个线程拥有自己的栈stack, 多个线程共享堆heap;
     1-4. 生命周期:         随着方法调用的完成并返回,stack栈上的所有数据将被销毁和空间被回收。
     1-5. 内存大小是否可变:  stack为固定内存空间,如果不足,抛stack overflow异常
                                       heap可以动态更改内存大小(由操作系统实施)
     1-6. 存取速度:        stack 存取速度更快,它和内存空间关联.

    2.  JVM 垃圾回收机制

       2-1.  引用计数

       2-2.  追踪标记

       2-3.  标记清除

       2-4.  压缩回收

       2-5.  复制回收

      

  • 相关阅读:
    第一阶段个人总结02
    第二阶段冲刺第十天
    第二阶段冲刺第九天
    第二阶段冲刺第八天
    第二阶段冲刺第七天
    第二阶段冲刺第六天
    第二阶段冲刺第五天
    第二阶段冲刺第四天
    第十六周总结
    第二阶段冲刺第三天
  • 原文地址:https://www.cnblogs.com/dragonflyyi/p/3190696.html
Copyright © 2011-2022 走看看