jvm 4

JVM에 대해 알아보자!

지난 포스팅 중에 자바 컴파일 과정에 대해 알아보았습니다. 자바 컴파일러에 의해 변환된 .class파일 (바이트 코드)이 클래스 로더에 의해 JVM 내에 들어와 메모리 공간을 만들어주고 컴퓨터가 이해할 수 있는 기계어로 만들어준다고 했습니다. 결국엔, JVM 안에서 메모리도 만들고, 기계어로 변환도 해주고 여러 역할을 수행하게 됩니다. 그래서 JVM이 무엇이냐? Java Virtual Machine의 약자로서, 자바 바이트코드를 실행할 수 있는 주체입니다. 일반적으로 인터프리터나 JIT 컴파일 방식으로 다른 컴퓨터 위에서 바이트코드를 실행할 수 있도록 구현됩니다. 출처 : 위키백과 쉽게 말해서, JVM은 우리들이 작성한 자바 프로그램이 수행되는 프로세스를 의미합니다. 다시 말해서, java라는 명령어를 ..

Java 2021.08.11

자바의 컴파일 과정을 이해해보자

자바의 호환성 자바의 컴파일 과정을 알기 전에, 우선 자바의 장점 한가지를 다루고 시작하겠습니다. 자바는 C언어와 다르게 각 OS별 컴파일러 없이 하나의 컴파일러로 모든 OS를 지원하는 특징을 가지고 있습니다. 예를 들어, C언어로 소스를 짜고 맥OS에 실행시키려면 맥용 C컴파일러가 필요하고 윈도우OS에 실행시키려면 윈도우용 C컴파일러가 필요한거죠. 물론, 이전 기종 마다 소스 파일을 짜야했던 어셈블리어와 기계어에 비하면 C언어는 소스 파일 하나만 짜면 되는 편리함을 가지고 있습니다. C언어는 One Source Multi Object Use Anywhere의 모토를 가지고 있죠. 하나의 소스로 각 기기에 맞는 목적 파일을 만들어 어디든 사용 가능하다. 하지만, 자바는 Write Once Use Anyw..

Java 2021.07.30

[JAVA] 8. JVM의 개념과 역할

JVM이란? Java Virtual Machine. (가상 머신 : 프로그램을 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것) - 우리가 작성한 자바 프로그램이 수행되는 프로세스를 의미함. - 다시 말해, java라는 명령어를 통해 애플리케이션이 수행되면, 이 JVM 위에서 애플리케이션이 동작함. JVM은 JAVA와 OS사이에서 중개자 역할을 수행. 그리고 가장 중요한 메모리관리, Garbage Collection을 수행. 왜 자바 가상머신을 알아야 하는가? 사용자가 많아지는 애플리케이션일수록, 한정된 메모리를 효율적으로 사용하여 최고의 성능을 내기 위해 노력해야 한다. 따라서, 메모리 효율성을 위해 메모리 구조를 알아야 하는 것은 필수이다. 자바 프로그램 실행 과정 1. 프로그램이 ..

Java 2021.04.30

[JAVA] 1. 자바 파일 컴파일 과정

*** 자바의 신(이상민 저)을 공부한 내용 중에 기억해야 할 개념들을 정리해 놓은 글 입니다.*** *자바 컴파일 및 실행 절차 1. .java라는 확장자로 되어 있는 소스를 컴파일하면, 2. .class라는 확장자를 가진 파일이 생성되어 디스크에 저장됨. ------------------------------------------------------------------------- 이 .class 파일은 바이너리 파일로 되어 있기 때문에 에디터에서 열어도 보기 힘듦. javac.exe(Windows) 또는 javac(Mac)이라는 프로그램이 컴파일러 역할을 수행. ------------------------------------------------------------------------- 4..

Java 2021.04.29