java

개발일지

Java String Pool의 내부 동작 원리: 메모리 최적화와 문자열 관리 심층 분석 📘

Java에서 String은 가장 많이 사용되는 데이터 타입 중 하나입니다. String Pool은 Java의 문자열 관리를 최적화하는 핵심 메커니즘인데, 오늘은 이 String Pool의 내부 동작 원리와 실제 활용 방법에 대해 자세히 알아보겠습니다.1. String Pool이란? 🌟String Pool(문자열 풀)은 Java Heap 메모리 영역에 위치한 특별한 메모리 영역으로, 문자열 리터럴을 저장하고 재사용하는 용도로 사용됩니다.String str1 = "hello"; // String Pool에 저장String str2 = "hello"; // 기존 Pool의 참조 재사용String str3 = new String("hello"); // Heap 영역에 새로운 객체 생성2. String 객..

개발일지

Java Map 깊이 이해하기: HashMap vs TreeMap vs ConcurrentHashMap

안녕하세요! 오늘은 Java의 Map 인터페이스를 구현한 여러 클래스들의 차이점을 깊이 있게 알아보려고 합니다. Map은 자료구조의 꽃이라고 할 수 있는데요, 각각의 특징과 장단점을 이해하면 우리가 만드는 프로그램의 성능을 크게 향상시킬 수 있습니다.Map 구현체 비교구현체검색 속도정렬 여부스레드 안전주 사용처HashMapO(1)❌❌일반적인 상황TreeMapO(log n)✅❌정렬이 필요한 경우ConcurrentHashMapO(1)❌✅멀티쓰레드 환경1. HashMap - 가장 기본적인 MapHashMap은 가장 일반적으로 사용되는 Map 구현체입니다. 내부적으로 '해시 테이블'이라는 자료구조를 사용하여 데이터를 저장합니다.public class HashMapExample { public static ..

개발일지

Java Set: HashSet, TreeSet, LinkedHashSet 완벽 가이드

안녕하세요! 오늘은 Java의 Set 컬렉션에 대해 자세히 알아보려고 합니다.  데이터 중복 제거나 고유 값 관리 상황에서 Set은 정말 유용한 도구인데요. 특히 최근 제가 진행한 프로젝트에서 사용자 활동 로그의 중복 제거 작업을 진행하면서 얻은 경험을 바탕으로 각 Set 구현체의 특징과 활용법을 공유하고자 합니다.1. 문제 상황: 데이터 중복 제거와 순서 관리실제 프로젝트에서 마주친 다음과 같은 상황을 예시로 들어보겠습니다:사용자 활동 로그에서 중복된 이벤트를 제거해야 하는 상황상품 카테고리를 자동으로 정렬해서 보여줘야 하는 상황장바구니에 담은 상품의 순서를 그대로 유지해야 하는 상황이러한 요구사항들을 효과적으로 처리하기 위해 각각 다른 Set 구현체를 사용할 수 있습니다.2. Set 구현체별 특징과 ..

개발일지

[pre-project 문제해결 공유] @RestController 어노테이션과 @Validated 어노테이션 충돌문제

블로그에 프리프로젝트 회고글을 쓴지 꽤나 많은 시간이 지났다 그동안 메인프로젝트(깃헙링크)가 시작되고 마무리되었다. 그 이후 커리어 세션을 통해서 이력서 작성법, 자기소개서 등에 대한 내용을 배우고 코드스테이츠 백엔드 부트캠프의 6개월 과정을 모두 수료했다. 그동안 프로젝트를 통해서 알게 된 내용들에 대해서 블로그로 너무 정리하고 싶었는데 사실 엄청나게 긴장하며 몰입했던 메인프로젝트가 끝나니 팽팽했던 고무줄을 탁 놓은 것처럼 마음이 풀린 것과 아내가 메인 프로젝트 동안 굉장히 힘들어했다. 직장으로 따지면 밤낮 없는 야근하는 남편을 한달동안 옆에서 지켜본 거니 눈 앞에 있는데 여러모로 단절되어있는 것이 정서적으로나 육아를 홀로 담당하며 누적된 육체적 피로도 굉장히 높았을 것이다. 2주 동안은 가족과의 시간..

벤지_
'java' 태그의 글 목록 (2 Page)