Thinking in Java里的例子,为什么我的程序输不出 ERROR:checked out!呢
gc是由jvm控制的,jvm根据条件触发gc,比如程序空闲,比如内存不足等等。System.gc()方法只是向jvm发出一个通知,是否要gc还是jvm根据上面说的几个条件来判断的。所以显示调用System.gc()后,未必马上会触发gc,所以也不会触发finalize方法了。
4 回答1.5k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答749 阅读✓ 已解决
2 回答1.8k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
没试你的程序, 我想应该是 你
System.gc()
后程序直接退出了.System.gc()
只是对jvm的一个建议, 希望能 做一次gc来 增大可用内存.你试试 在
System.gc()
后,Thread.sleep(10000)
.