Spring 01 : Spring의 객체 관리
·
백엔드(BE)/스프링 부트(Spring Boot)
저번에 자바의 Garbage Collection(GC)을 정리했었다. (아래 포스트 참고)  Java 프로그래밍 05 : Garbage Collection(GC)나는 C++을 사용할 때는 소멸자(Destructor)를 정의하거나 상속 받은 것을 재정의(override)해서 쓴 적이 있다. 그러나 Java로 개발하면서 생성자는 잘 써도 소멸자는 사용해 본 기억이 없었다.  처음buen-camino-developer.tistory.com   자바는 GC가 사용이 끝난 객체를 알아서 회수한다. 그런데 스프링은 Bean이라는 이름으로 프레임워크에서 사용되는 Java 객체의 생성 및 소멸을 직접 관리한다. 그러다보니 한 가지 궁금증이 생겼다. 스프링은 객체를 어떻게 관리하는 걸까? 분명 스프링을 배울 때 무언가를..
Java 프로그래밍 05 : Garbage Collection(GC)
·
프로그래밍 언어/자바(Java)
나는 C++을 사용할 때는 소멸자(Destructor)를 정의하거나 상속 받은 것을 재정의(override)해서 쓴 적이 있다. 그러나 Java로 개발하면서 생성자는 잘 써도 소멸자는 사용해 본 기억이 없었다.  처음 자바를 배웠을 때는 별 생각이 없었지만, 후에 알고 보니 자바는 가비지 컬렉션(Garbage Collectotion, GC)가 자동으로 쓰지 않는 객체를 회수하기 때문이었다. 문득, 한 가지 궁금한 점이 생겼다. C++의 경우 객체가 delete되거나, 스코프를 벗어나면 소멸자가 호출되고, 그 다음에 객체가 소멸된다. 그러나 자바는 소멸자가 존재하지 않는다. 그렇다면 Garbage Collection은 객체의 사용 종료 시점을 어떻게 판별하는 걸까?  이를 알기 위해서는 Garbage Co..