자바
-
가상 스레드(Virtual Thread) 그리고 스프링개발/기술 2023. 11. 24. 20:19
1. 가상스레드란? 가상 스레드를 이해하려면 물리 스레드와 가상스레드의 차이점을 이해해야 한다. 1.1 물리스레드 학교 수업시간에 배웠던 스레드 개념이다. 하드웨어 기반 cpu 코어에서 실행되는 스레드다. 각 코어는 한번에 하나의 스레드를 실행할 수 있으며 멀티코어는 동시에 여러 스레드를 실행할 수 있다 시스템 리소스 시스템 리소스를 직접 사용한다. cpu 하나를 독차지 하고 있는 스레드라고 보면 된다. 가상스레드에 대한 개념이 없는 상태에선 이게 무슨 당연한 소리냐 싶을 수 있는데 일단 이렇게만 알고 있자. 계산집약적 작업에 효율적 직접 하드웨어 리소스를 사용하기 때문에 높은 CPU 사용량을 뽑아낼 수 있으므로 계산 집약적 작업에 적합하다 운영체제에서 관리 운영체제에서 관리되므로 컨텍스트 스위칭 비용이..
-
JAVA - 다중상속을 허용하지 않는 이유는 뭘까?개발/기술 2023. 2. 24. 12:59
최근 면접에서 "Java가 다중상속을 허용하지 않는 이유는 뭘까요?" 라는 질문을 받았다. 상속은 오직 클래스 하나만 가능하다는 문법만 알았지 그 이유에 대해서 깊게 고민해보지는 않았다. "인터페이스는 다중으로 구현할 수 있는데, 상속만 이렇게 막은 이유가 있을까요?" 라는 추가질문이 이어지자 제대로 답변도 못하고 '정말 그렇네... 왜그렇게 만들었을까...?' 라는 생각이 면접을 마치고 집에 와서도 머릿속을 멤돌았다. java class 는 암시적으로 object 클래스를 상속하고 있다. 대부분의 클래스에서 기본으로 포함된 함수 toString(), hashCode(), equals() 가 object 로부터 상속받은 함수들이다. 클래스 상속 관계에선 위 함수들은 어떻게 처리될까? public clas..