Java3 자바 백엔드 개발자의 전문성 향상을 위한 개념 - Java GC(GarbageCollection) 종류와 튜닝 안녕하세요, 백엔드 개발자 여러분!언제 한번 인터뷰 관련 웹사이트 포스팅을 보다가 우현히 덧글을 보게 되었는데 경력 3년차 이상의 자바개발자에게 물어보기에 적당한 내용이 GC에 관련 된 기술이라고 봤었는데요. 그렇기 때문에 오늘은 Java GC가 무엇인지, 어떤 종류가 있고 어떻게 발전해왔는지, 그리고 성능 최적화를 위한 GC 튜닝 방법과 사례까지 깊이 있게 다뤄보겠습니다.Java GC, 왜 중요할까요?Java는 개발자가 직접 메모리를 관리할 필요 없이 JVM이 자동으로 사용하지 않는 메모리를 회수하는 "가비지 컬렉션" 기능을 제공합니다. 이는 메모리 누수를 방지하고 개발 생산성을 높이는 큰 장점이죠. 하지만 이 GC가 어떤 방식으로 동작하느냐에 따라 애플리케이션의 성능, 특히 응답 시간과 처리량에 지대.. 2025. 6. 29. JPA N+1 문제: 원인과 해결 방법 JPA를 사용하면서 성능 문제를 겪는 개발자라면 한 번쯤은 N+1 문제를 마주쳤을 것입니다. 이 글에서는 N+1 문제가 무엇인지, 왜 발생하는지, 그리고 어떻게 해결할 수 있는지 자세히 알아보겠습니다. 1. N+1 문제란?N+1 문제는 JPA에서 자주 발생하는 성능 저하 이슈로, 하나의 쿼리를 실행했을 때 예상치 못하게 추가적인 N개의 쿼리가 실행되는 현상을 말합니다. 다음과 같이 일대다 와 같은 엔티티 간의 참조가 있다고 합시다.@Entitypublic class Member { @Id @GeneratedValue private Long id; private String name; @OneToMany(mappedBy = "member", fetch = FetchType.E.. 2025. 6. 8. SOLID principle 이란? SOLID principle은 각 특성들의 영어 문장의 초성들을 나열하여 만든 이름이며 모든 Object Oriented Programming에서 통용되는 법칙이다. SOLID 원칙은 다방면으로 유용하면서도 사용을 필수적으로 요구하는 원칙인데. 대부분 클린코드와 연관도가 높다.많이들 아시다 싶이 클린코드를 고수하게 된다면 필연적으로 기능의 추가, 가독성 증가와 유지보수에 이점이 매우 크다. 본격적으로 SOLID의 세부적인 내용과 예시로 이해를 도와보겠다.S (Single responsibility principle)클린코드에서 항상 강조하는 부분, 단일 책임 원칙이다. 말 그대로 하나의 클래스 객체, 메서드나 모듈은 한 가지의 특정 기능만 해야 한다.더 나아가 단일 책임 원칙은 메서드, 클라스, 패키지 .. 2024. 4. 18. 이전 1 다음