
[Java] 자바에서는 스택을 잘 안 쓴다고?
·
공부 기록/CS
포스팅 계기이미지로 대신한다. 그래서 오늘은 왜 스택을 잘 안 쓰는지, 그럼 대신 뭘 사용하는지에 대해 작성해보려 한다.Stack은 Vector를 상속받기 때문자바의 `Stack` 클래스는 `java.util.Vector`를 상속받아 만들어졌다.바로 이 점에서 문제가 시작된다. `Vector`는 동기화된(synchronized) 클래스이다.이는 멀티스레드 환경에서 안전하다는 장점이 있으나, 싱글스레드 환경에서는 불필요한 성능 저하를 일으킨다.동기화되는 게 왜?동기화(Synchronization)란?동기화는 여러 스레드가 공유 자원에 접근할 때, 동시에 접근하지 못하게 막는 것이다.int cnt = 0;public void increment() { cnt++; // 여러 스레드가 동시에 실행하면 문제..