zoukankan      html  css  js  c++  java
  • java堆栈存储数据

    堆(heap)存放内容包括:包装类数据,如Integer, String, Double等将相应的基本数据类型包装起来的类。
        只要是用new()来新建对象的,都会在堆中创建,而且其字符串是单独存值的,即使与栈中的数据相同,也不会与栈中的数据共享。 栈(stack)存放内容包括:int, short, long, byte, float, double, boolean, char

      

    堆的优缺点:可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。
          但缺点是,由于要在运行时动态分配内存,存取速度较慢。 栈的优缺点:存取速度比堆要快,仅次于直接位于CPU中的寄存器。
          但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享。

      

       堆内存用来存放由new创建的对象和数组。  
    
       在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。  
    在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量。
    引用变量就相当于是为数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来访问堆中的数组或对象。

      

  • 相关阅读:
    项目部署工具之walle
    Windows下的终端工具-Terminal
    golang之基础语法
    git之常见问题
    vue之项目部署
    技术电子书汇总
    clickhouse之安装与基本使用
    nginx配置之Gzip压缩
    Selenium登录验证码解决方案细解
    Python Selenium自动化测试PO设计模式实战
  • 原文地址:https://www.cnblogs.com/binbang/p/6380900.html
Copyright © 2011-2022 走看看