stack
-
컬렉션 List - Stack & Queue백엔드/자바 2020. 8. 16. 05:38
자료구조 중에서 스택(Stack)과 큐(Queue)라는 것이 있다. 흔히 스택은 브라우저의 앞으로 가기, 뒤로 가기 같은 기능을 구현하는데 사용할 수 있는 자료구조다. 큐는 최근 사용 문서, 인쇄작업 대기 목록 등을 구현하는데 사용할 수 있는 자료구조다. Stack(스택) 스택(Stack)은 마지막에 저장한 데이터를 가장 먼저 꺼내는 선입후출 (LIFO, Last In First Out) 자료구조다. 위에서 이야기했듯이 흔히 브라우저의 앞으로 가기, 뒤로 가기 기능 등을 구현하는데 사용되는 구조다. 그렇다면 Stack을 List로 구현하려면 ArrayList와 LinkedList 중 어떤 것이 더 적합할까? 바로 ArrayList다. 컬렉션 List - ArrayList ArrayList의 정의와 장점 ..
-
자바(Java) 메모리 구조 / Runtime Data Area백엔드/자바 2020. 7. 27. 03:24
자바의 메모리 구조 우리가 작성한 소스 코드는 컴파일해 자바 바이트 코드로 바꾸고 이를 JVM으로 실행하게 된다. 그리고 이 과정에서 코드들은 Runtime Data Area 영역에서 실행된다. 즉 OS가 JVM에 할당한 메모리 영역에 맞게 코드들이 분배되고 실행되는 것이라고 생각하면 된다. Runtime Data Area OS가 JVM에 할당해준 메모리 영역을 Runtime Data Area라고 부른다. 그리고 이러한 메모리 영역은 우선 크게 두 가지로 나뉜다. 쓰레드 별로 생성되는 메모리 영역과 모든 쓰레드가 공유하는 메모리 영역이다. 모든 쓰레드가 공유 Method Area Runtime Constant Pool Heap Area Eden Survivor 1 Survivor 2 Old Permane..