zoukankan      html  css  js  c++  java
  • 9月26号

    今天对java的栈和堆总结一下:

    JAVA在程序运行时,在内存中划分5片空间进行数据的存储。分别是:1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。
    基本,栈stack和堆heap这两个概念很重要,不了解清楚,后面就不用学了。
    基本数据类型、局部变量都是存放在栈内存中的,用完就消失。
    new创建的实例化对象及数组,是存放在堆内存中的,用完之后靠垃圾回收机制不定期自动消除。
    栈和堆的特点:
    栈:
    函数中定义的基本类型变量,对象的引用变量都在函数的栈内存中分配。
    栈内存特点,数数据一执行完毕,变量会立即释放,节约内存空间。
    栈内存中的数据,没有默认初始化值,需要手动设置。
     
    堆:
    堆内存用来存放new创建的对象和数组。
    堆内存中所有的实体都有内存地址值。
    堆内存中的实体是用来封装数据的,这些数据都有默认初始化值。
    堆内存中的实体不再被指向时,JVM启动垃圾回收机制,自动清除,这也是JAVA优于C++的表现之一(C++中需要程序员手动清除)。
     
    注:
    什么是局部变量:定义在函数中的变量、定义在函数中的参数上的变量、定义在for循环内部的变量
    作者:哦心有
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    面试十题(4)
    TS中给接口指定的成员?
    TS中定义泛型接口的两种方式
    ts中泛型的使用
    ts中类的属性的封装
    ts中接口的使用
    自定义hook的步骤
    react中如何使用useReducer?
    react中useContext的使用
    react 中useRef的作用
  • 原文地址:https://www.cnblogs.com/haobox/p/14144719.html
Copyright © 2011-2022 走看看