2015-04-17 68 views
0

我目前在我的代碼中遇到了內存泄漏,並且我有一種直覺,認爲這是因爲我多次獲取某個類的實例而沒有實際關閉它,導致許多實例類。所以我的問題是,有什麼辦法可以關閉我得到的類的實例嗎?我得到的情況類似這樣:public static MyClass getInstance() { return new MyClass(); }Java |關閉一個類的實例

然後我就做得到類的實例:MyClass instance = MyClass.getInstance();

所以我想我要問什麼是如果有一些像.close ();方法來關閉我的實例。

謝謝。

+1

垃圾收集存在具體,所以你不必這樣做來釋放內存。 – user2357112

+0

你能提供更多的代碼嗎?只是你創建對象的事實不會給你一個內存泄漏。 –

+0

發佈剩餘的代碼,除了看到您實現了工廠/構建器模式之外,沒有足夠的內容。 –

回答

0

Java有一個自動垃圾收集器,所以如果你不再引用一個對象,它會從內存中刪除。

您可能意外地存儲引用,或者一次存儲太多或其他問題。

也不要通過腸道instict調試,堅持一個分析器或調試器在那裏,並找出你的內存泄漏來自哪裏!祝你好運!

+0

如果它刪除任何未使用的內存,而不是如何形成內存泄漏,有些困惑。 – TheCoder24

+0

那麼如果你存儲了引用,它仍然會被記錄爲已用內存。在Java中創建內存泄漏實際上有些困難。看看這個問題:http://stackoverflow.com/questions/6470651/creating-a-memory-leak-with-java –