Junior — Middle
Quando ocorre a libertação de memória ocupada por um objeto, em linguagens de programação geridas?
sobes.tech IA
Resposta da IA
Em linguagens de programação geridas, como Swift ou Objective-C para iOS, a libertação de memória ocorre automaticamente através de um mecanismo de gestão de memória, por exemplo, ARC (Contagem Automática de Referências).
O objeto é libertado quando não há mais referências fortes (strong references) a ele. Assim que o contador de referências do objeto chega a zero, a memória ocupada pelo objeto é libertada.
Exemplo em Swift:
class MyClass {}
var obj: MyClass? = MyClass() // contador de referências = 1
obj = nil // contador de referências = 0, objeto libertado
Dessa forma, a libertação de memória ocorre no momento em que o objeto deixa de estar acessível no código e não há mais referências fortes a ele.