본문 바로가기

메모리 관리

(2)
[Java] Java의 메모리 관리: Stack vs Heap 개념과 차이점 [Java] Java의 메모리 관리: Stack vs Heap 개념과 차이점1. Java의 메모리 구조Java 프로그램이 실행될 때, JVM(Java Virtual Machine)은Stack과 Heap이라는 두 가지 주요 메모리 영역을 사용하여 데이터를 관리합니다.각 메모리 영역은 서로 다른 역할을 수행하며, 효율적인 메모리 사용을 위해 각각의 특성을 이해하는 것이 중요합니다.2. Stack과 Heap의 차이점항목StackHeap저장하는 데이터메서드 호출 시 생성되는 지역 변수(Primitive Type) 및 참조 변수객체 및 배열 (new 키워드로 생성된 데이터)메모리 할당 방식LIFO (Last In First Out) 구조동적 할당 (Garbage Collector가 관리)생명주기메서드 실행이 끝나..
[Java] String, StringBuilder, StringBuffer 차이점과 성능 비교 1. String, StringBuilder, StringBuffer란?Java에서 문자열을 다룰 때, 가장 많이 사용하는 클래스는 String, StringBuilder, StringBuffer입니다.이 세 가지 클래스는 문자열을 처리하는 기능을 제공하지만, 동작 방식과 성능 면에서 차이가 있습니다.✅ 각 클래스의 특징클래스특징멀티쓰레드 지원성능String불변(Immutable) 객체, 값이 변하면 새로운 객체 생성지원 안함속도가 느림 (새로운 객체 생성 비용 발생)StringBuilder가변(Mutable) 객체, 문자열 변경 가능지원 안함빠름 (객체 재사용 가능)StringBuffer가변(Mutable) 객체, Thread-Safe (동기화 지원)지원함StringBuilder보다 느림 (동기화 비용..