- 1
- 0
- 约4.47千字
- 约 7页
- 2017-05-20 发布于北京
- 举报
Java对象和内存管理机制
1.实例变量和类变量的内存分配
类变量 :使用static修饰的成员变量是类变量,属于该类本身
实例变量:没有使用static修饰的成员变量是实例变量,属于该类的实例
由于同一个JVM内每个累只对应一个Class对象,因此同一个JVM内的一个类的类变量只需一块内存空间。
对于实例变量而言,该类没创建一次实例,就需要为实例变量分配一块内存空间,所以,程序中有几个实例,实例变量就需要几块内存空间。
2.类变量的初始化时机总是出于实例变量的初始化之前
我们先看下下面三段代码:
因为两个实例变量都是在创建变量的时候才开始分配空间,此时num2还没有分配,所以前向引用就会出现编译错误。
1
2
int num = num2 + 3; //非法前向引用,会报错
int num2 = 2
2)因为两个类变量在JVM加载类的时候分配空间,此时num2还没有分配,所以前向引用就出现变异错误。
1
2
static int num = num2 + 3; //非法前向引用,会报错
tatic int num2 = 2
3)因为类变量num2在JVM加载类的时候空间已经分配好,而num在创建实例的时候踩分配空间,此时num2已经分配成功了,所以num前向引用成功。
1
2
int num = num2 + 3; //正确使用
static int num2
您可能关注的文档
- ID89–城中村土地股份合作制绩效分析–以北京北郝村实证研究为例.doc
- IMSFX(艾汇)腾飞九州-北京站完美收官.doc
- IM卖家版使用说明–20150411.doc
- iOS培训之Objective–C协议和代理.doc
- IntelXeonE3–1230评测.doc
- IOS教程在ios上构建Widget–北京尚学堂.doc
- iOS视图生命周期和视图控制器关系.doc
- iOS开发探索–Runtime原理解读及实践.doc
- iOS应用开发最佳实践编写高质量Objective–C代码.docx
- iphone铃声教程-不只有40秒哦.docx
- 广东省深圳市福田区侨香外国语学校2025届数学八上期末经典模拟试题含解析.doc
- 2025届湖南省浏阳市初三下十月阶段性考试试题语文试题含解析.doc
- 江西省江西师大附中2026届高三第六次质量检查生物试题含解析.doc
- 江苏省连云港市灌南县2025年三上数学期末质量跟踪监视模拟试题含解析.doc
- 银川科技学院《社交礼仪》2023-2024学年第一学期期末试卷.doc
- 江苏省南京雨花台区七校联考2025届初三下学期第一次周考语文试题(重点班)试题含解析.doc
- 山东省滨州市十二校2025届高一语文第二学期期末综合测试试题含解析.doc
- 西昌学院《经济法》2021-2022学年第一学期期末试卷.doc
- 邯郸市邯山区2024-2025学年四下数学期末复习检测模拟试题含解析.doc
- 安徽林业职业技术学院《毒理学基础A》2023-2024学年第二学期期末试卷.doc
原创力文档

文档评论(0)