java --数组内存分配等问题
来源:互联网 发布:sql注入在线检测 编辑:程序博客网 时间:2024/03/28 18:50
在java中,声明一个数组过程中,是如何分配内存的?
1.当声明数组类型变量时,为其分配了(32位)引用空间,由于未赋值,因此并不指向任何对象;
2.当创建了一个数组对象(也就是new出来的)并将其地址赋值给了变量,其中创建出来的那几个数组元素相当于引用类型变量,因此各自占用(32位的)引用空间并按其默认初始化规则被赋值为null
3.程序继续运行,当创建新的对象并(将其地址)赋值给各数组元素,此时堆内存就会有值了
Java变量一定要初始化吗?
不一定。Java数组变量是引用数据类型变量,它并不是数组对象本身,只要让数组变量指向有效的数组对象,即可使用该数组变量。对数组执行初始化,并不是对数组变量进行初始化,而是对数组对象进行初始化——也就是为该数组对象分配一块连续的内存空间,这块连续的内存空间就是数组的长度。
基本类型变量都放在栈内存中?
错。应该这样说:所有局部变量都放在栈内存里保存的,不管其是基本类型的变量,还是引用类型变量,都是存储在各自的方法栈区中;但是引用类型变量所引用的对象(包括数组、普通java对象)则总是存储在堆内存中。
引用变量何时只是栈内存中的变量本身,何时又变为引用实例的java对象?
引用变量本质上只是一个指针,只要程序通过引用变量访问属性,或者通过引用变量来调用方法,该引用变量将会由他所引用的对象代替。
转载自:http://blog.csdn.net/u011263966/article/details/18924043
阅读全文
0 0
- java --数组内存分配等问题
- java数组内存分配
- Java数组及其内存分配
- Java数组及其内存分配
- Java数组及其内存分配
- Java数组及其内存分配
- Java 数组内存分配方式
- Java数组及其内存分配
- Java数组及其内存分配
- java内存分配的问题
- java的内存分配问题
- java内存分配问题详解
- java内存分配问题初学
- 【Java】内存分配的问题
- 由java数组想到java内存分配
- 数组的静态分配和动态分配 内存分配问题
- 关于Java 数组内存分配一点认识
- Java数组及引用类型内存分配
- 免登录安装SourceTree
- 请求转发-response留头不留体
- Java多线程工具包java.util.concurrent---Atomic
- 计算机视觉中,有哪些比较好的目标跟踪算法?
- CCF最大波动
- java --数组内存分配等问题
- 推荐一个很不错的android开源播放器XLPlayer
- bzoj 1123: [POI2008]BLO
- Nodejs遇到 bower ESUDO Cannot be run with sudo 的解决办法
- 致程序员的一封信:去你的“油腻中年”!
- 高德地图bug
- 三十五年经验分享:程序员进阶八法
- 程序员写100万行代码是什么感觉
- 腾讯的前端工程师,是如何精进技术的?