zoukankan      html  css  js  c++  java
  • JAVA笔记2-面向对象与内存解析

    1、java中的变量先声明、再赋值、再使用。(局部变量必须初始化,成员变量默认初始化)

    2、基本类型之外的所有类型都是引用类型。基本类型占一块内存,引用类型占两块(所有new出来的东西装在堆内存,因为是堆是在运行时动态分配内存)。

    方法只有在调用的时候才占用内存。

    四块:(待完善)

    code seg代码区:存放类(类的方法)

    data seg数据区:存放静态变量和字符串常量

    stack栈内存:存放基本类型变量和局部变量(方法参数和方法内生成的变量)(局部变量都分配在这)

    heap堆内存:存放new出来的对象

     

    3、关于构造方法:如果自己没有定义,则编译器自动添加默认构造方法;如果自己已经定义了,则编译器不再生成默认构造方法,构造方法没有返回值(不能写void)

    4、

    5、重载(方法名相同):参数个数或参数类型不同才构成重载(编译器可以区分开),只有返回值类型不同不构成重载(编译器无法区分开)。

    6、例题注意基本类型和引用类型都是通过“值传递”的

    可见,运行完毕后,只有change3()方法可以改变d2的值,而change1()和change2()不能达到预期效果,不能改变值data和d1的值。

    红点处执行完毕后,change2()方法中的局部变量b马上消失(因为是栈中的局部变量,随着方法的结束而消失),但b所指向的堆内存不是马上消失,而是等待垃圾回收。

    7、内存分析大题(方法的返回值存储在一个临时区域内,打印完成后自动消失。)

  • 相关阅读:
    百度mp3地址解密码
    VB 在EXE后附加信息
    截屏函数
    Base64和StrToByte
    The Android ION memory allocator, DMABUF is mentioned as well
    DDC EDID 介绍
    Memory management for graphic processors TTM的由来
    科普 写display driver的必看 How video card works [2D的四种主要操作]
    GEM vs TTM
    DMABUF 背景介绍文章 Sharing buffers between devices
  • 原文地址:https://www.cnblogs.com/seven7seven/p/3632890.html
Copyright © 2011-2022 走看看