반응형

stack 2

[Java] JVM의 Runtime Area

JVM (Java virtual machine)에 관하여 살펴보겠다. Heap 영역 자바 객체와 배열이 생성되는 영역이다. 힙 영역에 생성된 객체와 배열은 JVM ㅅ택 영역의 변수나 다른 객체의 필드에서 참조한다. 만약 참조 값이 없다면 쓰레기로 취급하고 JVM은 GC를 이용하여 객체를 힙 영역에서 제거한다. Stack 영역 각 스레드마다 하나씩 존재하며 스레드가 시작될 때 할당된다. 추가적으로 스레드를 생성하지 않았다면 main 스레드 하나만 존재하므로 JVM 스택 역시 하나이다. JVM 스택은 메서드를 호출할 때마다 프레임(Frame)을 추가(push)하고 메서드가 종료되면 해당 프레임을 제거(pop)하는 동작을 수행한다. 예외 발생 시 printStackTrace()는 메서드를 보여주는 Stack ..

Language/Java 2020.01.13

[Python] Stack 사용하기

파이썬에서의 스택 = list를 사용 파이썬은 스택 자료구조는 따로 제공하지 않는다. 다만 기본 클래스인 list를 통해 스택을 흉내 낼 수 있다. 스택은 어떤 자료구조인가요? 스택은 가장 나중에 들어온 자료가 가장 먼저 처리되는 LIFO(Last-In-First-Out) 자료구조이다. 구멍이 하나밖에 없는 병이라고 생각하면 이해하기 쉽다. Reference https://www.youtube.com/watch?v=whVUYv0Leg0 스택이 지원하는 operation 스택은 다음 operation을 지원해야 한다. Operation 구현 Time Complexity - Average Case Pop item my_list.pop O(1) Push item my_list.append O(1) Stack ..

Language/Python 2019.10.09
반응형