CS 2

[Spring] 스프링 특징 IOC, AOP, DI 이란?

Spring Framework의 주요 특징 IOC, AOP, DI 1. IOC (Inversion of Control) : 제어의 역전Spring 컨테이너가 개발자 대신 의존성을 주입하고 객체의 생명주기를 관리하도록 하여 객체의 흐름을 관리 자바 기반 어플리케이션 개발시, 객체의 생성부터 소멸까지 및 의존 관계와 같은 흐름을 조작하고 결정하는 것은 개발자에게 있다. 하지만, IOC 패턴 사용시 객체의 생성 및 관리 등 제어 흐름의 결정 권한을 Spring 컨테이너에게 위임하여 객체의 라이프사이클을 관리하는 것을 말한다. Container가 bean을 관리해주기에 제어의 역전이라고 한다.IOC의 장점객체 간의 결합도를 낮춤유연한 코드 작성테스트의 용이성을 향상2. AOP (Aspect Oriented Pr..

Back-End/Spring 2023.12.14

[Java] 가비지 컬렉션(Garbage Collection, GC)이란?

1. 가비지 컬렉션의 개념 - 자바가 실행되는 JVM 에서 사용되는 객체, 즉 Heap 영역의 객체를 관리해 주는 기능을 말한다. - 유효하지 않은 메모리인 가비지(Garbage)가 발생했을 때, JVM의 가비지 컬렉터가 불필요한 메모리를 알아서 정리해준다. - 이때, Stop The World와 Mark and Sweep 과정이 일어난다. 2. 가비지 컬렉션의 동작 방식 JVM의 Heap 영역은 Young(새로운 객체들이 할당되는 영역)과 Old(Young에서 오래 살아남은 객체들이 존재하는 영역) 2가지 영역으로 나뉘는데, GC가 실행되면 일반적으로 다음과 같은 단계를 따른다. 1. Stop The World 가비지 컬렉션을 실행하기 위해 JVM이 애플리케이션의 실행을 멈춘다. GC를 실행하는 쓰레드..

Back-End/Java 2023.12.12