java与其它语言不同的地方就包括,其它语言有的可以由程序员直接来操作内存,包括内存空间的分配和释放等,而由程序员来实现有时可能导致内存混乱,不该释放的释放了,这样程序就容易发生各种问题。而在java中,内存的操作都是由jvm来操作的,这样就可以让程序员不必直接面对内存操作从而在程序中避免了各种内存的错误,gc操作是一个线程,我们可以通知程序运行垃圾回收,但回不回收并不由我们程序员说的算,它由jvm自己决定何时回收,这是因为我们编的程序中的线程都比gc线程优先级高,当我们通知它回收时,恰好有一个其它的线程也在运行,cpu会先执行其它程序 。 |
|