JVM

2023. 1. 4. 16:36CS

Java Virtual Machine의 줄임말로 자바를 OS에 종속되지 않게 구동할수있는 자바의 가상화 머신이다.

 

JVM의 메모리는 Method영역, Heap영역, Stack영역으로 나누어지는데

 

static으로 선언된 메소드는 Method영역에 생성된다.(static영역이라고도 부른다)

static영역은 프로그램이 실행되는 동시에 메모리에 생성되므로 별도의 공간 할당 작업을 하지 않아도 된다.

 

자바 프로그램 실행 시 main메소드가 Static영역에 생성되지 않는다면 JVM이 프로그램을 실행하지 못한다

그래서 우리는 항상 자바프로그램을 실행할때 아래의 코드를 활용하여 메인 프로그램을 실행시킨다

public static void main(String args[]){
}

우리가 SpringBoot를 활용하여 서비스를 구축할때도 실행되는 파일의 구조도 위의 구조를 따른다.

package bodycator.bodycator;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class BodycatorApplication {

	public static void main(String[] args) {
		SpringApplication.run(BodycatorApplication.class, args);
	}

}

메인클래스인 BodycatorApplication안에서 public static void main (psvm) 을 무조건 선언해주어야 한다. 

 

new키워드를 활용하여 실행시 별도 공간을 할당받으면 Heap영역에 생성된다

'CS' 카테고리의 다른 글

API란?  (0) 2023.01.04
객체지향  (0) 2023.01.04
DFS & BFS  (0) 2022.12.30
포인터(Pointer)  (0) 2022.12.29
의존성 주입(Dependency Injection)  (0) 2022.12.28