java - 垃圾收集

NIN*_*OOP -2 java garbage-collection

为什么方法调用System.gc()不能保证垃圾收集器算法会在那一刻运行?为什么它在调用时无法回收所有未使用的对象的内存?

xyz*_*xyz 5

  1. 强制对象破坏是编码错误的标志,因此Java可能希望避免开发人员沉迷于它.
  2. 如果Java为您提供了强制对象销毁的自由,那么不当使用它可能会对应用程序性能产生负面影响.
  3. 这种限制允许您(强迫您)将更多的注意力集中在业务逻辑而不是内存管理上
  4. JVM是决定何时需要内存管理以及如何执行此操作的最佳人选.
  5. 你可以(应该)信任JVM,让它以比我们更好的方式处理事情.
  6. 你还真的想强迫对象破坏吗?如果是,为什么?