• 复习


    周末跟着网上和书简单的复习了一下,小小复习了一哈。主要说一下,我以前容易混淆或者不明白的地方:

    栈:存储的都是局部变量 ( 函数中定义的变量,函数上的参数,语句中的变量 );  只要数据运算完成所在的区域结束,该数据就会被释放。 

    堆:用于存储数组和对象,也就是实体。啥是实体啊?就是用于封装多个数据的。 

      1:每一个实体都有内存首地址值。 

      2:堆内存中的变量都有默认初始化值。因为数据类型不同,值也不一样。 

       3:垃圾回收机制

    变量的作用域和生存期: 

    变量的作用域 

        作用域从变量定义的位置开始,到该变量所在的那对大括号结束; 生命周期: 

        变量从定义的位置开始就在内存中活了; 

        变量到达它所在的作用域的时候就在内存中消失了;

    成员变量和局部变量的区别: 
    1:成员变量直接定义在类中。 

       局部变量定义在方法中,参数上,语句中。 

    2:成员变量在这个类中有效。 

    局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。

     3:成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。 

    局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放

    这些概念有助于我理解代码和书写的正确性。

  • 相关阅读:
    剑指Offer(链表)-从尾到头打印链表
    Java数据结构与算法-链表
    剑指Offer(数组)-数组中重复的数字
    剑指Offer(数组)-二维数组的查找
    Java冒泡排序法实现
    springMVC全局异常配置
    CookieUtil工具类
    算法
    Java
    算法
  • 原文地址:https://www.cnblogs.com/syl1104/p/3722311.html
Copyright © 2020-2023  润新知