JVM 3

CS
[11/18] JVM Stack & Heap 2022.11.18

Intro.C/C++ 는 컴파일 플랫폼과 타겟 *플랫폼이 다를 경우, 프로그램이 동작하지 않음C/C++는 컴파일을 하면 생성되는 기계코드가 플랫폼에 dependent하기 때문OS마다 지원하는 System Call Interface가 다름CPU Architecture마다 지원하는 Instruction Set Architecture가 다름*플랫폼 : 운영체제 + CPU 아키텍처  동일한 플랫폼에서 컴파일과 실행을 같이 한다면, 프로그램은 아무 문제 없이 동작플랫폼이 달라질 경우, 타겟 플랫폼에서 프로그램이 동작하지 않음➡ 타겟 플랫폼에 맞춰 컴파일을 해야함     Cross Compile EX) 리눅스에서 윈도우를 타겟으로 잡고 컴파일을 할 수 있음   JVM 자바 프로그램은 완전한 기계어가 아닌, 중간 단..

[Java] 명령 프롬프트에서 자바 컴파일 및 실행 하기 2022.10.09

자바 프로그램 개발 순서 1. 확장명이 .java인 텍스트 파일을 생성하고 프로그램 소스를 작성 2. 자바 소스 파일 컴파일러 (javac.exe)로 컴파일 3. 컴파일 후 생성된 바이트 코드 파일 (*.class)을 JVM을 통해 실행 1. 자바 소스 파일 생성 - 새 메모장에 다음 코드를 작성한다. public class Hello { public static void main(String[] args) { System.out.println("Hello World!"); } } 1라인에서 Hello의 H가 대문자로 작성되어야 한다. (파일명과 대소문자가 동일해야 함) 2라인에서 String의 S가 대문자로 작성되어야 한다. 3라인에서 System의 S가 대문자로 작성되어야 한다. 3라인 끝에 세미콜론..

[Java] JVM, JRE, JDK 2022.10.09

1. 자바 가상 기계 (JVM) 운영체제는 자바 프로그램을 바로 실행할 수 X -> 자바 프로그램은 완전한 기계어가 아닌, 중간 단계의 바이트 코드 이기 때문 -> 이를 해석하고 실행할 수 있는 가상의 운영체제 필요 => 자바 가상 기계 (JVM : Java Virtual Machine) 자바 가상 기계 (JVM : Java Virtual Machine) : 실 운영체제를 대신해서 자바 프로그램을 실행하는 가상의 운영체제 역할을 함 -> 쉽게 말해, 자바를 실행시키는 가상의 기계 운영체제별로 프로그램을 실행하고 관리하는 방법이 달라 -> 운영체제별 자바 프로그램을 별도로 개발 X => 운영체제와 자바 프로그램을 중계하는 JVM을 두어 여러 운영체제에서 동일한 실행 결과가 나오도록 설계 바이트 코드는 모든..