0
根據內存使用情況調用基於其他方法輸出的方法的最佳方式是什麼?減少Java進程的內存
例如: 第一種方式:
Animal a = Farm.getAnimal(5);
item.setAnimal(a);
方式二:
item.setAnimal(Farm.getAnimal(5));
而且也節約item.setAnimal(...)
使用Java內存的結果呢?
根據內存使用情況調用基於其他方法輸出的方法的最佳方式是什麼?減少Java進程的內存
例如: 第一種方式:
Animal a = Farm.getAnimal(5);
item.setAnimal(a);
方式二:
item.setAnimal(Farm.getAnimal(5));
而且也節約item.setAnimal(...)
使用Java內存的結果呢?
對象是在堆上創建的,而對象變量(Animal a)實際上是指堆中的對象(當將其分配給變量時,沒有創建副本)。
要回答你的第一個問題,設置動物的兩種方法都是相同的,並且不會產生任何額外的內存使用。
但是,當你將對象存儲到一個變量中時,應該確保你限制了範圍,因此不允許內存泄漏。
對於第二個問題,item.setAnimal(..)使用額外的內存嗎? - 由於上述原因,答案顯而易見,因爲在set方法中引用了相同的對象,所以不會導致額外的內存使用量。
沒有區別。簡單的答案是隻有'new'會導致java中的內存使用量。但是「保存結果」是什麼意思? – zapl