首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

常量的存在与回收,该怎么处理

2012-01-03 
常量的存在与回收例如Stringstrstring 对于这个常量,是什么时候java会回收他呢?如何回收呢?[解决办法]

常量的存在与回收
例如
String   str   =   "string ";

对于这个常量,是什么时候java会回收他呢?

如何回收呢?



[解决办法]
没用的时候JVM自动收回,
也可以调用 System.gc();
[解决办法]
java自动回收 就是它的gc功能.
[解决办法]
当,str=null或不在指向“string”,而且没有其他引用指向“string”时,“string”就成为垃圾,当java虚拟机启动时就会将其回收,释放内存
[解决办法]
当str不再指向“string”,而且没有其他引用指向“string”时,“string”就成为垃圾,之后
java虚拟机会在适当的时候回收这块空间(也许在需要内存的时候,不确定)

[解决办法]
既然是常量当然就不回收了,
[解决办法]
常量不回收
除非你的程序退出才会回收
[解决办法]
学习。。 汗 常量不回收 那读取文件的时候 不就生成了N多垃圾String实例了么
[解决办法]
常量是编译之后就定下来的
至于读取文件的时候,通过readLine()读进来的,不是常量
[解决办法]
你这个问题的实质是这样的 String str = (new String) "string ";
java 中间仍和变量都是引用存储在栈中。而后面的 "string ";存储在动态内存中间。java有一个垃圾回收机制,当没有任何引用指向这个“string”时,垃圾回收会将这一块内存释放。这个市自动触发执行的。如果对于static关键字定义下的常量要进行回收那么就要自己写回收函数了。
大概就是这样
[解决办法]
常量是不会被vm回收的,只有在vm退出时交给os回收

热点排行