51,407
社区成员
发帖
与我相关
我的任务
分享
内存结构:
栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放,被gc回收。
堆内存:数组和对象,成员变量,通过new建立的实例都存放在堆内存中。
方法区:静态成员、构造函数、常量池、线程池
局部变量:
存储在栈,类里方法中的变量。
作用范围:在该方法内
生命周期:方法被执行完。
被修饰时:只能final,
使用时:要自己显示赋值,
当局部变量和成员变量同名时,使用时局部变量更高优先级,这时需要用成员变量时用this访问。
成员(全局)变量:
存储在堆,类里的变量。static修饰的是静态(类)变量,没有static修饰的是实例变量
作用范围:在该类里面或者权限允许类外部也可以使用
生命周期:
静态变量:整个程序运行期间
实际变量:对象的生存期
被修饰时:public, pravite, static, final等
使用时:被加载或实例化是,系统会分配内存,给默认值,基本类型的默认为0,如int ,复合类型默认为null
如Integer
