A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Ake丶 中级黑马   /  2016-6-23 23:36  /  1580 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天看到数组部分,老师说main方法在栈,但是没说为什么,是类中的方法就存在栈内存,还是只有主方法存在栈内存?

17 个回复

倒序浏览
方法都在栈里面
回复 使用道具 举报

是吗?后面视频会讲到是吗?
回复 使用道具 举报
    是的  
回复 使用道具 举报
方法都是在栈里。
回复 使用道具 举报
方法和方法中的对象都在栈内存中
回复 使用道具 举报
我读书少,你们不要骗我。。
回复 使用道具 举报
对,在栈中
回复 使用道具 举报
是没错的,方法不管是main方法还是自定义的方法或者是类的构造方法,运行时都是先进入栈.

运行方法完毕后,会弹出栈内存.
回复 使用道具 举报
有点没说清楚题意了。方法运行在栈中,而不是说方法在栈中。谢谢解惑
回复 使用道具 举报
Ake丶 发表于 2016-6-24 19:03
有点没说清楚题意了。方法运行在栈中,而不是说方法在栈中。谢谢解惑

没错,是运行在栈而不是存储在栈中。为了实现方法的调用机制,方法是必须运行在栈中的,只有里面的运行方法出栈外面的方法才能出栈,这是有次序的。任何一种编程语言的方法(或者函数)都是运行在栈中的。
回复 使用道具 举报
这个你要了解下程序的执行过程  从类的加载  方法 等等  方法压榨  执行 变量的变化  
回复 使用道具 举报
准确来说是存在栈中方法区内
回复 使用道具 举报
看到老师画的内存图,方法都是在栈内存里的
回复 使用道具 举报
java将分了5片内存
寄存器 , 本地方法去,方法区,栈 ,堆
栈,存储局部变量(函数的中定义的变量,函数上的参数,语句中的变量)
只要数据运算完成所在的区域结束,该数据就会被释放
堆,用来存放数组和对象,也就是实体,实体就是用来封装多个数据的
方法区:
1.又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。
2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。
回复 使用道具 举报
主方法所在的类加载进方法区,然后主方法进栈,只要调用方法肯定进栈,main方法是程序的入口,所以肯定会进栈的
回复 使用道具 举报
方法都在栈里,对象在堆里
回复 使用道具 举报
方法在栈内存,堆内存是new对象。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马