Java中的哪种方法用于销毁您的对象

cha*_*dra 8 java

你能举一个我的问题的例子吗?

Rev*_*316 42

对不起,但Java中并没有真正的"免费"或"处置"等价物.

您可以做的最好的事情就是将对象设置为null(删除引用).然后明确地告诉垃圾收集器你要去rambo(它的某处java.lang.Runtime).

  • 兰博评论+1. (38认同)

tra*_*god 17

虚拟机的垃圾收集器可以回收不再可访问的Java对象占用的内存.正如其他人所说,这是自动的.相反,程序的正常操作可以分配必须明确释放的某些系统资源.原生屏幕资源就是一个例子.这些方法的部分列表包含以下内容:

java.awt.Component.BltBufferStrategy#dispose() 
java.awt.Component.FlipBufferStrategy#dispose() 
java.awt.CompositeContext#dispose() 
java.awt.Graphics#dispose() 
java.awt.im.InputContext#dispose() 
java.awt.im.spi.InputMethod#dispose() 
java.awt.image.BufferStrategy#dispose() 
java.awt.Image#flush() 
java.awt.PaintContext#dispose() 
java.awt.Window#dispose() 
java.io.InputStream#close()* 
java.io.OutputStream#close()* 
java.sql.Connection#close() 
java.util.Timer#cancel() 
javax.imageio.ImageReader#dispose() 
javax.imageio.ImageWriter#dispose() 
javax.print.StreamPrintService#dispose() 
javax.security.sasl.SaslClient#dispose() 
javax.security.sasl.SaslServer#dispose() 
javax.swing.DebugGraphics#dispose() 
javax.swing.JInternalFrame#dispose() 
org.ietf.jgss.GSSContext#dispose() 
org.ietf.jgss.GSSCredential#dispose() 
* Includes subclasses


mip*_*adi 5

本身没有方法。该finalize()方法,在顶层定义Object可以被调用,当对象被垃圾收集器释放,但这不是你可以依靠一个行为。