• 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.  复制回收

      

  • 相关阅读:
    springboot Serving Web Content with Spring MVC
    Java的String中的subString()方法
    required string parameter XXX is not present
    NMON监控linux性能
    Linux下Java性能监控
    Linux常用命令
    Loadrunner测试webservice协议总结
    AWR报告分析
    性能测试指标
    如何保证测试的覆盖率
  • 原文地址:https://www.cnblogs.com/dragonflyyi/p/3190696.html
Copyright © 2020-2023  润新知