이 글은 삼성청년소프트웨어아카데미 2학기에 공통 프로젝트로 진행한 학습내용 기록 및 공유 플랫폼 MODAC 서비스의 게시판 Pagination 리팩토링 과정에 대해 정리했습니다. 기능설명 및 개발환경[개발환경]DB: MySQL 8.0.31Back-End: Java8, Spring Boot2.7.7, Spring Data JPATools: IntelliJ, Postman [기능설명]개선 대상: 게시판(피드) 게시글 조회 기능기능 설명: 현재 로그인한 사용자가 작성한 게시글 정보를 조회하는 기능기존 구현방법: 게시글 조회 시 게시글 데이터를 DB에서 조회하여 페이지 계산 로직을 통해 요청한 페이지에 해당하는 데이터 반환 [리팩토링 배경 설명 및 기존 구현 코드]MODAC 프로젝트에서 유저의 피드 목록을 조회..
Programming
자바 가비지 컬렉션(GC) 란?가비지 컬렉션(Garbage Collection, GC)은 메모리 관리 기법중 하나로 JVM(자바 가상 머신)의 Heap 영역에서 동적으로 할당했던 메모리 중 필요없게 된 메모리 영역에 할당된 주소들을 모아 주기적으로 제거하는 프로세스를 말한다. C/C++ 언어에서는 이러한 가비지 컬렉션이 없어 개발자가 수동으로 메모리 할당과 해제를 일일히 해줘야 했다. 반면, JAVA 언어에서는 가비지 컬렉터가 메모리 관리를 대신 수행해주기 때문에 JAVA 프로세스가 한정된 메모리를 효율적으로 사용할 수 있게 하고, 개발자 입장에서는 메모리 관리, 메모리 누수 문제보다 로직 작성에 더 집중할 수 있다는 장점이 있다. 하지만, GC에도 단점이 존재한다. 자동으로 처리해준다 해도 메모리가 언..