西西艺术美女下部照片:Java中的栈内存和堆内存
来源:百度文库 编辑:九乡新闻网 时间:2024/10/06 17:29:01
[导读]引用变量是普通变量,定义时所在栈中分配内存,引用变量在程序运行到作用域外释放。而数组和对象本身在堆中分配,即使程序运行到使用new产生数组和对象的语句所在地代码块之外,数组和对象本身占用的堆内存也不会被释放,数组和对象本身占用的堆内存也不会被释放。
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.
2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)
3. 堆:存放所有new出来的对象。
4. 静态域:存放静态成员(static定义的)
5. 常量池:存放字符串常量和基本类型常量(public static final)。
6. 非RAM存储:硬盘等永久存储空间
引用变量是普通变量,定义时所在栈中分配内存,引用变量在程序运行到作用域外释放。而数组和对象本身在堆中分配,即使程序运行到使用new产生数组和对象的语句所在地代码块之外,数组和对象本身占用的堆内存也不会被释放,数组和对象本身占用的堆内存也不会被释放。数组和对象在没有引用变量指向它的时候,才变成垃圾,不能再被使用,但是仍然占着内存, 在随后的一个不确定的时间被垃圾回收器释放掉。这个也是java比较占内存的主要原因。
Java中的栈内存和堆内存
内存__栈和堆原理介绍(转帖
计算机内存分配、堆、栈等
BSS段,数据段,代码段,堆内存和栈 - 东海的日志 - 网易博客
防范JAVA内存泄漏解决方案
内存区划分;内存分配;堆、栈概念分析;动态内存管理数据结构及程序样例;核心态与用户态
慢速内存和快速内存可“合二为一”
Java内存分配、管理小结1
Java内存分配、管理小结2
Java内存模型详解 - 51CTO.COM
几种典型的Java内存泄漏
关于 SetProcessWorkingSetSize 和内存释放
IO端口和 IO内存
C++内存地址分配和内存区划分简介
内存在打印机中的作用是什么??
共享内存应用中的问题及解决方法
[科学]遗传算法:内存中的进化
C/C++中的内存补齐机制
内存和CPU匹配方法详解 2-
电脑死机和内存的关系
mysql临时表和内存表
全局(Global)和局部(Local)内存管理
mysql优化: 内存表和临时表
JAVA基础:关于Java栈与堆的思考