본문 바로가기

CS 기초

(2)
💻 JAVA 객체와 클래스의 차이점 클래스란? 객체를 만들어 내기 위한 틀 객체란? 클래스의 인스턴스 키워드 public : 접근제한이 없음 protected : 해당 클래스 + 자식 클래스에서 접근 가능 default : 동일한 패키지 내에서만 접근 가능 private : 해당 클래스내에서만 접근 가능 JVM과 JAVA 프로그램 실행 과정 JVM이란 JAVS Virtual Machine(자바 가상 머신)의 약자 자바 프로그램을 자바 API를 기반으로 실행하는 역할 JAVA프로그램 실행과정 프로그램이 실행되면 JVM이 OS로부터 해당 프로그램이 필요로 하는 메모리를 할당 받음 자바 바이트코드로 변환된(.class) 파일을 class로더를 통해 JVM에 로딩함 로딩된 class파일은 excution engine을 통해..
💻 CS 개념 정리 OS 프로세스와 스레드 차이 프로세스는 운영체제로부터 자원을 할당받아 실행하고, 스레드는 프로세스로부터 자원을 할당받아 실행 하나의 프로세스 안에서 여러 스레드 생성 가능 각 스레드는 개별 스택을 가지고, 프로세스의 전역 메모리 공간을 공유하며 프로그램을 실행 프로세스는 코드/데이터/스택/힙 메모리 기반으로 실행 스레드는 프로세스 안에서 개별적인 스택을 가지고 코드/데이터/힙 영역을 공유하며 실행 deadlock 둘 이상의 프로세스가 서로가 가진 자원을 요구하면서 각자의 자원을 놓지 않아서 더이상 작업을 수행할 수 없이 무한 대기 상태 해결 방법 Prevention : 자원이 어떻게 할당되건간에 데드락이 발생할 수 없는 구조로 만듬 Detection and Recovery : 데드락이 발생할 경우를 찾아..