问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

java,堆和栈是怎么分工的?就是说分别用来存放什么

发布网友 发布时间:2022-02-28 14:47

我来回答

3个回答

热心网友 时间:2022-02-28 16:16

两种不同的内存结构
栈: 存放基本数据类型、对象的引用
堆:存放对象的数据

热心网友 时间:2022-02-28 17:34

Java把内存划分成两种:一种是栈内存,一种是堆内存。
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存 中分配。
当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放 掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。
堆内存用来存放由new创建的对象和数组。
在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。

这里有参考资料,楼主也要谢谢这个空间的人,呵呵...

参考资料:http://hi.baidu.com/%CB%BC%C3%F4%D3%EA/blog/item/3933affbba8b7cd4b58f316f.html

热心网友 时间:2022-02-28 19:09

这些知识在《Think in java》中有很详细的描述说明, 贾府焦大的回答还是比较中肯。
java怎样理解“堆空间”和“栈空间”

1、堆空间 就是用来存储对象的栈空间是用来存储一些变量的 用完后会通过垃圾收集器自动清楚引用对象通过类似指针的方法来指2、程序从硬盘载入的内存-有四个内存区供程序使用heap(堆 ),stack(栈),data segment,code segmentheap堆:用来存放new出来的东西stack栈:局部变量。data segment:静态变量,...

java中的,堆,栈,还有方法区都是用来放什么的??

栈里存放的是值类型(int、float等)的值和引用类型(String、你自己创建的类对象等)在堆中的地址;堆中存放引用类u型的值,如果堆中某个值的地址在栈中没有被指向,他就会被GC回收。方法区存储所有的类和静态变量。

java语言中提及的“堆”主要有什么用?“栈又有什么用?”

堆内存用来存放由 new 创建的对象和数组,在堆中分配的内存,由 Java 虚拟机的自动垃圾回收器来管理。在堆中产生了一个数组或者对象之后,还可以在栈中定义一个特殊的变量,让栈中的这个变量的取值等于数组或对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量,以后就可以在程序中使用栈中的引用变量...

java中什么是堆和栈,如何应用,最好举个例子,并详细地说明一下...

栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地...

请简单通俗易懂的解释一下在Java中什么叫堆 什么叫栈 谢谢

什么堆什么栈都是一样的,基本作用也一样。java中可以认为,栈用来存放局部变量的。public void fun(){ int i=0; //i 是一个局部变量,存放在栈里面的 Object obj = new Objec(); //obj 是一个对象应用,同样也是一个局部变量,存放在站里面的,但是obj指向的对象,在存在堆中 } ...

关于java的一个基础问题。

JVM 内存分栈、 堆、方法区三个区域。栈:存储局部变量、引用地址堆:存储 new 的对象方法区:存储类的代码、 static 变量和方法、常量池 当你new的时候,在栈中创建引用变量str,地址:0x11(指向堆中的值),在堆中存放str的值123,当你使用str比如②的打印,就根据0x11这个地址去对中找到值,再...

java中什么是堆和栈

堆是java内存中的一种,是用来存储java中的对象和数组,在创建一个数组或对象时,堆内存会留一段空间存放它。其优势是可以动态地分配内存大小,动态地分配内存大小,存取速度较慢。栈也是java中的一种内存,是用来执行程序,例如基本类型的变量和对象的引用变量。其优势是存取速度相对于堆要快一些,而且...

java中堆和堆栈有什么区别

1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆...

java在存储数组时栈内存和堆内存的联系是什么?

(1)栈就像装数据的桶或箱子:它是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。这就如同要取出放在箱子里面底下的东西(放入的比较早的物体),首先要移开压在它上面的物体(放入的比较晚的物体)。(2)堆像一棵倒过来的树:堆是一种经过排序的树形数据结构,每个结点...

java哪些数据存在堆里哪些数据存在栈里

栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
番茄牛肉怎么做才入味好吃? 西红柿炖牛肉怎样做的鲜香嫩滑? 股票的几根线代表什么 股票中的线是什么线 股票那个线叫什么名字 除夕放几天 席江的小说有哪些 95汽油和92汽油有什么区别 92号汽油比95号汽油便宜 95号油和92有什么区别? 一等奖有多少人,二等奖有多少人,三等奖有多少人? java,中的堆和栈? java中内存堆和栈到底是什么? java中堆和栈的意思 java中什么是堆和栈,如何应用,最好举个例子,并详细地说明一下,谢谢了 java 中堆和栈的机制是什么? JAVA中堆和栈的概念 java中堆和栈有什么区别 java中堆与栈的区别 求java中的 堆和栈 的图解(java初学者) java面试 内存中堆和栈的区别 java中堆和栈的区别 面试题 java中栈和堆的区别求解 java堆和栈的区别图解 面试问java里堆和栈的区别,怎么说 java中 栈和堆的区别? java中栈与堆的区别? java中堆区和栈区的区别 Java 中堆和栈有什么区别 Java堆与栈的区别和联系 java中堆和栈有什么区别? java 堆和栈 分别存什么东西 java是从什么语言改进 java语言是从什么语言改进的 java是从什么语言改进重新设计的 java是从什么语言改进重新设计 java是什么语言改进的 Java是从什么语言改进重新设计的? java是用什么语言写的 java语言是由什么改造而来的? java是一种什么语言? java属于什么语言? java是什么语言? java 是什么语言写的 java是什么语言 java语言是什么? java语言是什么? 请问java是什么语言开发的。 JAVA是一种什么样的语言??? 编程语言和Java是什么 什么是JAVA语言?
  • 焦点

最新推荐

猜你喜欢

热门推荐