제네릭, 스프링 빈, JVM 메모리 영역

sion Jeong·2024년 11월 4일
0

제네릭이란?

클래스나 메서드 타입을 지정하지 않고 유동적으로 그때그때 지정해서 사용하는 것
용도에 맞게 객체 생성이 가능함 (제네릭으로 지정해서)
타입을 별도로 변환할 필요가 없다.

스프링 빈이란?

Spring IoC 컨테이너가 관리하는 자바 객체
스프링 빈이 어노테이션으로 객체 생성과 의존성 주입을 관리
-> 개발자가 직접 객체 생성을 관리안해도됨

ApplicationContext에서 관리하는 객체를 의미
tip: 개별 클래스에서 생성하는 객체는 빈이 아님, (new로 생성된 객체)

JVM 메모리 영역은?

자바 프로그램을 실행하기 위해 메모리를 여러 영역으로 나누어 관리함
Method 영역, Heap 영역, Stack 영역이 존재

Method 영역은 클래스가 로딩될 때 할당
클래스 메타데이터가 저장 (클래스, 인터페이스, 메서드, 필드 정보 등)

Heap 영역은 런타임 시에 동적으로 할당
객체와 배열이 저장되는 영역, Garbage Collector가 관리해 사용하지 않는 메모리를 제거 (참조되지 않는 객체를 자동으로 삭제해 → 메모리 관리)

Stack 영역은 스레드마다 존재하며, 스레드가 시작될 때 할당
메서드가 호출될 때마다 일시적으로 사용하는 메모리 공간
지역변수, 파라미터, 리턴값, 연산에 사용되는 값 등이 생성되는 영역

profile
개발응애입니다.

0개의 댓글