본문 바로가기
728x90

분류 전체보기43

가비지 컬렉터(Garbage Collector) 동작 원리 ● 가비지 컬렉터(Garbage Collector) - 메모리 관리를 위해 힙영역에서 더 이상 사용되지 않는 객체를 메모리에서 제거하는 것 ● 동작 원리 JVM에서 GC의 스케줄링을 담당하여 Java 개발자에게 메모리 관리의 부담을 덜어준다. GC는 background에서 데몬 쓰레드로 돌며 더 이상 사용되지 않는 객체들을 메모리에서 제거하여 효율적인 메모리 사용을 돕는다. 객체는 힙 영역에 저장되고 스택 영역에 이를 가리키는 주소값이 저장되는데 참조되진 않는객체를 메모리에서 제거한다. ● 물리적 공간 (Heap 영역) - Young Generation - Eden 새로 생성된 객체들이 위치 Minor GC 발생 - Survivor 1, 2 Eden 영역에서 GC 실행 후 살아남은 객체들이 위치 Mino.. 2022. 11. 21.
DAO, DTO, VO 간단 정리 ● DAO - DAO(Data Access Object)는 데이터베이스의 data에 접근하기 위한 객체이다. 데이터베이스에 접근 하기 위한 로직 & 비지니스 로직을 분리 하기 위해 사용한다. ● DTO - DTO(DataTransfer Object)는 계층 간 데이터를 교환 하기위해 사용하는 객체로, DTO는 로직을 가지지 않는 순수한 데이터 객체(Getter & Setter만 가진 클래스)이다. - 유저가 입력한 데이터를 DB에 넣는 과정을 알아보자. 유저가 자신의 브라우저에서 데이터를 입력하여 form에 있는 데이터를 DTO에 넣어 전송한다. 해당 DTO를 받은 서버가 DAO를 이용하여 데이터베이스로 데이터를 집어넣는다. ● VO - VO(Value Object) 값 오브젝트로 값을 위해 사용된다. .. 2022. 11. 10.
Forward와 Rdeirect 차이 ● Forward 방식 - Forward는 Web Container 차원에서 페이지 이동만 존재한다. 실제로 웹 브라우저는 다른 페이지로 이동했음을 알 수 없다. 그렇기 때문에 웹 브라우저에는 최초에 호출한 URL이 표시되고, 이동한 페이지의 URL 정보는 확인할 수 없다. 또한 현재 실행중인 페이지와 forward에 의해 호출될 페이지는 Request 객체와 Response 객체를 공유한다. 위 그림과 같이 Forward는 다음으로 이동 할 URL로 요청정보를 그대로 전달한다. 그렇게 때문에 사용자가 최초로 요청한 요청정보는 다음 URL에서도 유효하다. 예를 들어 게시판을 작성하는 과정이라고 할 때, 사용자가 보낸 요청 정보를 이용하여 글쓰기 기능을 수행한다고 할 때, forward를 사용하여 응답 페.. 2022. 11. 4.
@Lombok(롬복)기능 살펴보기 // 롬복 설정 configurations { compileOnly { extendsFrom annotationProcessor } } depencencies { // 롬복 라이브러리 추가 annotationProcessor 'org.projectlombok:lombok' // 테스트에서 lombok 사용 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' } 롬복 어노테이션(Lombok Annotation)은 어노테이션 기반으로 코드를 자동완성 해 주는 라이브러리다. 롬복을 사용하면 getter / setter처럼 반복되는 메서드의 작성 코드를 줄임으로서 코드의 가독성을 높일수 있다. ●.. 2022. 11. 2.
728x90