Java
[Java] Garbage Collection(GC)의 동작 원리
가비지 컬렉션(GC)이란?가비지 컬렉션(GC)란 자바의 메모리 관리 방법이다. JVM 상의 Heap 영역에서 동적으로 할당했던 메모리 중 더 이상 사용하지 않는 메모리 객체(가비지)를 모아 주기적으로 제거하는 프로세스이다. 기본적으로 Heap 영역의 메모리는 객체 생성 시에 할당되므로, 더 이상 참조되지 않는 경우에 가비지로 판단되어 제거된다. 이러한 가비지가 제거되지 않는다면, 메모리가 해제되지 않아 사용할 수 있는 메모리가 점점 줄어드는 메모리 누수(Memory Leak)이 발생하게 되므로 중요하다. Stop -The-World란?Stop-The-World란, GC를 실행하기 위해 JVM이 애플리케이션 실행을 멈추는 것이다.GC를 수행하는 동안, GC 관련 쓰레드를 제외한 모든 쓰레드는 정지되므로..
Java의 Collections Deep Dive - 1 : HashMap이란?
안녕하세요,오랜만에 블로그를 적어봅니다! 최근 Redis의 Hash 자료구조를 비롯해 여러 Hash계열 자료구조를 사용하면서 내부적인 구현에도 조금씩 차이가 있다는 점을 알게 되었습니다! 또한 평소 Stream이나 Lambda를 사용할 때 Collections이라는 인터페이스에 대해 다소 이해가 부족한 것 같아 여러 기술블로그를 참고하여 학습하고 정리한 것을 포스팅하고자 합니다. Map에 대해서우선 자바의 Collection이란, 데이터의 집합, 그룹을 의미한다. 이중 Map은 Interface이며, 엄연히 Collection 인터페이스를 상속받는 것은 아니다.이는 구조상의 차이 때문이지만, Map 인터페이스 역시 Collection의 구성원 중 하나이다. Map이란, key-value로 구성된 Ent..
[Spring] DI와 IOC에 대해서
스프링을 막 공부하기 시작하는 비기너에게 DI와 IOC에 대한 개념은 너무나도 중요한 것 같습니다! 하지만, 이를 왜 사용할까요? DI와 IOC를 활용하면 어떤 이점이 있을까요? Spring에서는 DI와 IOC가 어떻게 이루어지고 있을까요? 위에 물음에 답을 해 보는 시간을 가져보려고 합니다!' 1. DI(Dependency Injection)이란? 먼저, 한 사람이 폰을 구매하는 코드를 같이 살펴봅시다! public class Main { public void main(String[] args) { Person jobth = new Person(“잡th”); jobth.buy(); } } class Person { … void buy() { SamsongPhone samsong = new Samsong..