[Java] 메모리 관리 Stack & Heap 영역
너무 코딩을 할 때, 코드만 보고 따라친다는 느낌이 많은 요즘이다. 원리는 제대로 알고 하고있는걸까,, Stack Heap 영역에 생성된 Object 타입의 데이터의 참조값이 할당된다. 원시타입의 데이터가 값과 함께 할당된다. 지역변수들은 scope에 따른 visibility를 가진다. 각 Thread는 자신만의 stack을 가진다. Stack 영역에는 Heap 영역에서 생성된 Object 타입의 데이터들에 대한 참조를 위한 값들이 할당된다. 또한, 원시타입(primitive - types) - byte, short, int, long, double, float, boolean, char 타입의 데이터들이 할당된다. 이때 원시타입의 데이터들에 대해서는 참조값이 아닌, 실제 값을 stack에 직접 저장하게..
2019. 7. 21.
[자료구조] 우선순위 큐(PriorityQueue) + 힙(Heap) - 2
프로그래머스 프린터라는 문제를 풀다가 의아한 점이 생겼다. PriorityQueue priority = new PriorityQueue(Collections.reverseOrder()); 우선순위 큐를 사용하기 위해 우선순위 큐를 생성하고, 문제에서 숫자가 클 수록 우선순위가 높다고 요구하여 내림차순으로 설정을 했다. 그런데 우선순위 큐에 {2,5,4,1,3}을 넣었을 때 내가 단순히 생각하기에는 {5,4,3,2,1}이 나올 것이라고 생각했지만, 실제로는 {5,3,4,1,2}가 나왔다. ??? 자바 공식 문서에서도 reverseOrder() Returns a comparator that imposes the reverse of the natural ordering. 라고 했다. 내림차순이라는 소리다. 알..
2019. 5. 13.