作者alan77916 (啦~好想幸福呀~!)
看板java
标题[问题] static variable
时间Sun Aug 26 23:53:21 2012
最近刚开始学JAVA
所以遇到了点问题想请教各位大大
因为我从书上看到他写说
static variable在该class第一次被初始化後会被建立起来
尔後该class的object操作到的都会是同一个static variable
但书上却没有提到说 若所有的object被摧毁时
则此static variable会如何?
那如果此时再新增一个此class的object的话
则static variable会被renew还是会是同一个呢?
另外想询问一下 此变数在记忆体中到底是如何操作的
因为为何可以所有object都refer到同一个变数
感谢大大的回答了<(_ _)>
如果有表达不清 或是搞错的地方 还烦请赐教
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.29.49
1F:推 mars90226:static的变数是跟着class的,所以应该不会被摧毁 08/27 00:09
2F:→ mars90226:因为是跟着class,所以永远都是同一个 08/27 00:12
3F:推 LaPass:一直都会在,直到该class被unload 08/27 00:44
4F:推 LaPass:建议找说明jvm相关的书来看,他会说jvm怎麽处理记忆体,有 08/27 00:50
5F:推 LaPass:专门的记忆体区块是专门拿来放class的格式、static之类的 08/27 00:54
6F:→ alan77916:感谢大大们的指导 那我大概了解了 我在去翻相关资料看看 08/27 15:04
7F:→ alan77916:所以JVM会先把class当必要了解的资讯载进来(当new他时?) 08/27 15:10
8F:推 LaPass:严格说:是在保证在new之前一定会载入。不过你想当他第一次 08/27 15:23
9F:→ LaPass:new的时候载入也OK,因为通常是这种状况。除非去使用static 08/27 15:26