java中对象、成员变量、静态变量、方法的内存分配
来源:互联网 发布:阿里云邮箱管理员登录 编辑:程序博客网 时间:2024/05/17 08:39
java中内存主要包含4块,即heap(堆内存)、stack(栈内存)、data segment(静态变量或是常量存放区)、codesegment(方法区).
堆内存中存放的是new出的对象,new出的对象只包含成员变量。
栈内存中:存放的是局部成员变量。对于基本的数据类型存放的是基本变量的值,而对于对象变量,存放的是堆内存的地址。
静态、常量区:存放的是静态变量(类变量)或是常量。
方法区:存放的是对象的方法。因此即使new出多个对象也是只是存在一个方法。
如
A a = new A(); A中含有一个work方法,2个成员变量a,b。那么对应的内存分配为
则 a是分配在栈内存中。里面存放了一个指向堆内存中存放的new A()的地址。
new A()会导致在堆内存中分配一块空间,该内存中的A对象同时会含有a和b。
work()方法会在codesegment区中分配内存。
如果此时 A b = a;则表示把a的值复制给b,即b的值为a中保存的地址
堆内存中存放的是new出的对象,new出的对象只包含成员变量。
栈内存中:存放的是局部成员变量。对于基本的数据类型存放的是基本变量的值,而对于对象变量,存放的是堆内存的地址。
静态、常量区:存放的是静态变量(类变量)或是常量。
方法区:存放的是对象的方法。因此即使new出多个对象也是只是存在一个方法。
如
A a = new A(); A中含有一个work方法,2个成员变量a,b。那么对应的内存分配为
则 a是分配在栈内存中。里面存放了一个指向堆内存中存放的new A()的地址。
new A()会导致在堆内存中分配一块空间,该内存中的A对象同时会含有a和b。
work()方法会在codesegment区中分配内存。
如果此时 A b = a;则表示把a的值复制给b,即b的值为a中保存的地址
- java中对象、成员变量、静态变量、方法的内存分配
- java中对象、成员变量、静态变量、方法的内存分配
- java 对象 实例变量 静态变量内存分配
- java面向对象之成员变量和局部变量 以及他们的内存分配
- 虚拟机大牛RednaxelaFX关于java里面的静态变量、成员变量、局部变量的内存分配
- java中成员变量、局部变量、静态变量的区别
- java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况
- JAVA中静态成员变量的使用
- java方法体的变量内存分配
- 类的成员变量,对象,静态变量
- Java中静态成员变量
- Java中变量的内存分配
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- java中静态变量和成员变量的区别
- java 中成员变量与静态变量的区别
- 最长递增/递减子序列
- java performance笔记——(三) jvm overview
- document.documentElement.clientWidth与document.body.clientWidth在浏览器滚动条的情况
- 对RPCA的一些感受
- GDI+学习及代码总结之------图像的基本处理
- java中对象、成员变量、静态变量、方法的内存分配
- 库函数调用和系统调用的区别
- grep正则表达式元字符集
- 堆和栈的区别 (转贴)
- iFrame只要竖滚动条,不要横滚动条的方法
- 基于JSP+SERVLET的新闻发布系统(一)
- zigbee中有几个不同的频率,是啥意思?有啥联系和区别
- android使用ant编译APK
- IOS CoreText.framework ---2--- 段落样子CTParagraphStyle