Java 变量
来源:互联网 发布:安庆网络电视台 编辑:程序博客网 时间:2024/06/03 02:33
局部变量,静态局部变量,全局变量,静态全局变量
标签(空格分隔): java 变量
先搞懂几个存放变量的地方
1.栈 - 由编译器自动分配释放
2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收
3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变 量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放
4.另外还有一个专门放常量的地方。- 程序结束释放
静态变量:
也称为类变量!在程序加载时系统就为它在堆中开辟了内存,堆中的内存地址存放于栈以便于高速访问。静态变量的生命周期–一直持续到整个”系统”关闭。 (待考量)
全局变量:
当你使用java关键字new的时候,系统在堆中开辟并不一定是连续的空间分配给变量(比如说类实例),然后根据零散的堆内存地址,通过哈希算法换算为一长串数字以表征这个变量在堆中的”物理位置”。 实例变量的生命周期–当实例变量的引用丢失后,将被GC(垃圾回收器)列入可回收“名单”中,但并不是马上就释放堆中内存。
tips(手动= null,并不能马上回收,而是告诉gc此变量可以回收)
局部变量:
局部变量,由声明在某方法,或某代码段里(比如for循环),执行到它的时候直接在栈中开辟内存并使用的。当局部变量脱离作用域,存放该作用域的栈指针,栈顶与栈底重合即为释放内存,速度是非常快的。
tips(不用管生命周期,方法作用域执行完毕后会自动回收)
0 0
- Java 变量
- Java变量
- java 变量
- [java]变量
- Java变量
- java变量
- Java变量
- Java 变量
- Java变量
- java 变量
- java.变量
- Java-- 变量
- JAVA-变量
- java变量
- java变量
- Java变量
- java变量
- Java变量
- 运行mysqli_connect apache报服务器500错误
- 1129第几天
- 无缝轮播图
- PAT甲级1008. Elevator (20)
- Linux中的crontab定时任务详解
- Java 变量
- 详细领悟ThreadLocal变量
- 浅谈进程和线程间的通信方式
- Unity自带寻路Navmesh入门教程(二)
- 太阳系案例
- 关于Oracle导出用户下所有表的问题
- 20170309技术积累
- css中子元素相对于父元素定位
- LeetCode算法题目:Remove Duplicates from Sorted Array II