大家来挑挑错。说出合适理由的都有分。

bzwm 2008-11-27 05:35:49
有如下这段话:
“其实静态方法也是常驻内存的。当每次调用静态方法,其实跟调用静态常量都是一样,都是一个引用,而不是拷贝。”

如题,大家来挑挑错。说出合适理由的都有分。
...全文
172 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilstar 2008-11-28
  • 打赏
  • 举报
回复
只有加载的时候才会跑内存里面去,不加载就是几行代码嘛

静态方法就是一个引用啊 引用到堆里面的代码
echoabs 2008-11-28
  • 打赏
  • 举报
回复
当调用该静态方法时候分配常驻内存 ,在没有调用的时候只是一堆代码!!当调用的时候就是调用的自身,因为该方法是与类相关的,而不是与某个对象
dengfeiling 2008-11-28
  • 打赏
  • 举报
回复
这句话很有问题
metruetian 2008-11-28
  • 打赏
  • 举报
回复


[color=#FF0000]回帖是一种美德![/color]


class需经过java虚拟机执行,先要把你写的静态的东东load到内存区在相应的操作系统代码里找到相应方法再开始执行你写的代码,一般成员变量在堆内存中(也就是动态申请内存)。。栈内一般存放局部变量,……
至少在win下你不用它们它们只是存放在硬盘里的啦,不占内存的,……嘻嘻,虽然写得有些乱,但这是我对内存的分析……
FL1429 2008-11-28
  • 打赏
  • 举报
回复
回复11楼,13楼:

没忽悠到你们,也是我的疏忽~!
getter 2008-11-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 FL1429 的回复:]
我不认为方法占用内存,对象和数据占用内存

^_^
[/Quote]
-_________-"
...你真的是搞IT的嗎...
serryzhao 2008-11-28
  • 打赏
  • 举报
回复
学习
ZangXT 2008-11-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 FL1429 的回复:]
我不认为方法占用内存,对象和数据占用内存

^_^
[/Quote]
方法当然占有内存,要么你一条条的指令去什么地方取的。
FL1429 2008-11-28
  • 打赏
  • 举报
回复
我不认为方法占用内存,对象和数据占用内存

^_^
ZangXT 2008-11-28
  • 打赏
  • 举报
回复
我不认为这句话有对的地方。
Andy__Huang 2008-11-28
  • 打赏
  • 举报
回复
当每次调用静态方法,其实跟调用静态常量都是一样
-------------
常量可以用来计算,方法不一定能够用来计算
WH514081671 2008-11-28
  • 打赏
  • 举报
回复
http://xiaobian.javaeye.com/blog/175402
bzwm 2008-11-28
  • 打赏
  • 举报
回复
谢谢各位关注。

结贴了。

虽然还是很迷惑,但有一点我可以确定,

我之前感觉这句话很有问题是正确的。

然后,不再去想这句话了。

结贴!
qusic 2008-11-27
  • 打赏
  • 举报
回复
方法不都是在堆里面的吗?难道还有在栈里面的方法?
kao331431214 2008-11-27
  • 打赏
  • 举报
回复
方法一直都常驻在堆内存中
这个引用是在栈内存中的某个实例指向方法
其实引用可以看成指针
bzwm 2008-11-27
  • 打赏
  • 举报
回复
首先我想问的是,到底这里说的常驻内存是什么意思呢?
方法如何能常驻内存呢。

还有
“其实跟调用静态常量都是一样,都是一个引用,而不是拷贝”
上面那段我觉得也非常有问题啊。
别说是方法了,就算使用变量,
也应该是用引用,而不是拷贝啊。

大家怎么看呢?
ssqtjffcu 2008-11-27
  • 打赏
  • 举报
回复
不懂,顶!
myjava_024 2008-11-27
  • 打赏
  • 举报
回复
分配内存,但是里面还有一个问题是堆内存,还是栈内存,这个还是要考虑的
renmms 2008-11-27
  • 打赏
  • 举报
回复
所有的方法都在类加载的时候就分配内存了,不管是静态还是动态的.

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧