黑马程序员技术交流社区

标题: 主方法是存在栈内存吗? [打印本页]

作者: Ake丶    时间: 2016-6-23 23:36
标题: 主方法是存在栈内存吗?
今天看到数组部分,老师说main方法在栈,但是没说为什么,是类中的方法就存在栈内存,还是只有主方法存在栈内存?
作者: 他的好    时间: 2016-6-23 23:38
方法都在栈里面
作者: Ake丶    时间: 2016-6-23 23:55
他的好 发表于 2016-6-23 23:38
方法都在栈里面

是吗?后面视频会讲到是吗?
作者: 他的好    时间: 2016-6-24 00:28
    是的  
作者: L1ub0w3n    时间: 2016-6-24 00:29
方法都是在栈里。
作者: dreakteasnow    时间: 2016-6-24 09:31
方法和方法中的对象都在栈内存中
作者: 我有上将潘凤    时间: 2016-6-24 12:46
我读书少,你们不要骗我。。
作者: 940752944    时间: 2016-6-24 18:31
对,在栈中
作者: syinys7    时间: 2016-6-24 18:41
是没错的,方法不管是main方法还是自定义的方法或者是类的构造方法,运行时都是先进入栈.

运行方法完毕后,会弹出栈内存.
作者: Ake丶    时间: 2016-6-24 19:03
有点没说清楚题意了。方法运行在栈中,而不是说方法在栈中。谢谢解惑
作者: sangwentao    时间: 2016-6-24 19:29
Ake丶 发表于 2016-6-24 19:03
有点没说清楚题意了。方法运行在栈中,而不是说方法在栈中。谢谢解惑

没错,是运行在栈而不是存储在栈中。为了实现方法的调用机制,方法是必须运行在栈中的,只有里面的运行方法出栈外面的方法才能出栈,这是有次序的。任何一种编程语言的方法(或者函数)都是运行在栈中的。
作者: lifeiwangyue    时间: 2016-6-24 20:39
这个你要了解下程序的执行过程  从类的加载  方法 等等  方法压榨  执行 变量的变化  
作者: 黑马酬勤    时间: 2016-6-25 00:45
准确来说是存在栈中方法区内
作者: kobe240888    时间: 2016-6-26 22:24
看到老师画的内存图,方法都是在栈内存里的
作者: gaojiangjian    时间: 2016-6-26 23:40
java将分了5片内存
寄存器 , 本地方法去,方法区,栈 ,堆
栈,存储局部变量(函数的中定义的变量,函数上的参数,语句中的变量)
只要数据运算完成所在的区域结束,该数据就会被释放
堆,用来存放数组和对象,也就是实体,实体就是用来封装多个数据的
方法区:
1.又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。
2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。
作者: 迅雷    时间: 2016-6-27 08:35
主方法所在的类加载进方法区,然后主方法进栈,只要调用方法肯定进栈,main方法是程序的入口,所以肯定会进栈的
作者: 奕明传媒    时间: 2016-6-28 12:34
方法都在栈里,对象在堆里
作者: wangyeake    时间: 2016-6-28 17:05
方法在栈内存,堆内存是new对象。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2