如果我想在对象的构造函数中声明一个temp int,那么在构造完成后该变量是否会保留在内存中。或者垃圾收集完成后会将其删除吗?
答案 0 :(得分:2)
一旦变量超出范围并且您没有保留对它的引用并且垃圾收集运行,它将从内存中删除。 这不能保证在构造函数完成执行后立即发生 - 但这可能需要一些时间,具体取决于具体情况。
答案 1 :(得分:0)
int
,long
,boolean
和其他原始变量从不被垃圾收集,因为它们占用了线程堆栈中的空间。
当方法调用(包括构造函数)返回调用者时,它们的内存利用率会恢复。