반응형

Heap 2

Process와 Thread

❓프로세스(Process) 란 사전적 의미 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체) 운영체제로부터 시스템 자원을 할당받는 작업의 단위 즉, 동적인 개념으로는 실행된 프로그램을 의미한다. 🔎 특징 기본적으로 프로세스당 최소 1개의 스레드(메인스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다. 한 프로세스가 다른 프로세스의 자원에 접근하려면 프로세스 간의 통신(IPC, inter-process communication)을 사용해야 한다. Ex) 파이프, 파일, 소켓 등을 이용한 통신 방법 이용 🪶 할당 받는 자원 : CPU 시간, 운영되기 위해 필..

OS 2022.03.22

Java 메모리 영역(Static, Stack, Heap)

❓Static ❓Stack ❓Heap 멀티스레드를 어떻게 사용할까? ❓Static 패키지나 클래스 정보가 호출되는 시점에 올라간다. static이 붙은 클래스 멤버(필드,메소드)도 이 영역에 올라간다. static을 붙일 대상은 읽기 전용이 아닌 경우, 가능한 사용하지 않아야 하고 무분별하게 사용하면 멀티스레드에서의 Thread Safe 문제가 발생할 수 있다. 클래스, 메소드 영역이라고 불린다. JVM 종료 시점까지 사라지지 않고 유지된다. ❓Stack 흔히 말하는 call stack이 이 영역에서 다뤄지는 내용이다. stack에서 선언된 지역변수는 stack에 위치한다. primitive는 stack 영역에 저장되고 reference(wrapper 등)는 참조값만 저장된다. 외부의 stack fram..

Java 2022.01.11
반응형