假如没有GC会有什么问题

没有gc,那么就只能我们自己控制内存的释放,这样就会有下面两个问题

  • 多释放了一次内存
  • 少释放了一次内存

少释放

我们new了一个对象,却没有释放,导致这块内容之后都用不了,内存泄漏,如果频繁的导致内存泄漏,导致内存分布不完整,进而分布大对象时,就会导致内存溢出。

多释放

对一块内存,释放了两次以上。当我们释放第一次的时候,系统就认为这个空间可以使用了,并发情况下,这个内存会被另一个线程利用。当我们二次释放的时候,会影响到其他线程的数据处理。

你可能感兴趣的:(java)