java中栈、堆、静态区的区别
来源:互联网 发布:w7怎么添加网络打印机 编辑:程序博客网 时间:2024/06/03 15:46
栈:
栈内存的主要作用是存放基本数据类型和引用变量,栈的内存管理是通过“先进后出”的原则。
基本数据类型的变量(int、short、long、byte、float、double、boolean、char等)以及对象的引用变量,其内存分配在栈上,变量出了作用域就会自动释放。
堆:
堆内存用来存放由new创建的对象和数组。在堆中分配的内存由虚拟机的垃圾回收器来管理。在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量。引用变量就相当于是为数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来访问堆中的数组或对象。
静态区:
静态区存储的是被static声明的静态变量,静态区属于方法区的一部分,在方法区中每个线程都共享该内存区域。
阅读全文
0 0
- java中栈、堆、静态区的区别
- 静态数据区、堆、栈的区别
- 静态区、堆、栈区别
- 内存中栈,堆,静态区到底有什么区别?
- Java中堆和栈的区别
- Java中堆和栈的区别
- Java中堆和栈的区别
- Java中堆和栈的区别
- Java中堆和栈的区别
- java 中堆与栈的区别
- Java中堆与栈的区别
- Java中堆与栈的区别
- JAVA中堆和栈的区别
- Java中堆与栈的区别
- Java中堆和栈的区别
- java中堆与栈的区别
- Java中堆和栈的区别
- Java中堆与栈的区别
- 天天和树
- Linux学习高级篇(一)
- Linux学习基础篇(十)
- Linux学习高级篇(三)
- Linux学习高级篇(二)
- java中栈、堆、静态区的区别
- Linux学习高级篇(四)
- 知道mysql的索引吗?
- Linux学习高级篇(六)
- codeforces 847J Students Initiation 网络流+二份答案
- leetcode Merge Sorted Array 合并有序数组
- cmake初探
- linux系统安装pip,numpy,matplotlib,scipy,tensorflow命令
- tomcat启动容器失败报error in opening zip file错误