Java

[Java]컴파일, 경로설정, 메모리 영역

patrck_jjh 2025. 3. 19. 20:52

 

 

JRE (Java Runtime Environment)

  • 자바 실행환경으로 자바 프로그램을 실행시키는데만 사용되는 패키지
  • .class 를 실행함 

JDK(Java Development Kit)

  • 자바 개발 도구로 JRE 패키지를 포함(실행 기능)
  • javac, javadoc, jdb, jar 등 개발에 필요한 도구들도 포함(개발 기능)

 

JVM(Java Virtual Machine)

  • JRE에 포함되어 있으며 Java로 개발한 프로그램을 컴파일하여 만들어지는 바이트코드를 실행시키기 위한 가상머신
  • Java는 JVM을 거쳐서 OS에 도달하기 때문에 운영체제에 독립적
  • Java 소스코드 혹은 원시코드(*.java)는 javac 명령어를 통해 bytecode(*.class)로 컴파일함
  • 변환된 bytecode 는 JVM를 통해 OS가 해석할 수 있는 기계어(Binary Code)로 변환

 

 

 


 

환경변수(Environment variable) 설정

 

 

 

 

변수정의

변수이름: JAVA_HOME

변수 값: C:\Program Files\Java\jdk-17
 
변수이름: CLASSPATH 

변수 값: %JAVA_HOME%\lib

 

경로 설정

  • Path는 운영체제가 명령행 또는 터미널 창에서 필요한 실행 파일을 찾는 데 사용하는 시스템 변수임
  • Path 변수에 %JAVA_HOME%\bin; 추가하고 확인.
  • 경로 설정이 잘 되어있다면 cmd에서 java -version을 입력 시 버전 정보가 정상적으로 출력됨 

 

java 파일 실행

>> 컴파일  javac.exe
  cmd> javac  파일명.확장자


>> 실행 java.exe
  cmd> java 파일명 

 

 

 


 

 

 

Memory


Garbage Collection

JVM의 Heap영역에서 동적으로 할당했던 메모리 중 필요없는 메모리 객체를 모아 주기적으로 제거하는 프로세스 

 

 

MEMORY

RAM; Random Access Memory

휘발성 메모리로 읽기, 쓰기가 가능한 메모리 

하드디스크의 데이터를 불러와 CPU가 처리할 수 있는 중간다리 역할

 

ROM; Read Only Memory 

비휘발성 메모리로 읽기 전용 메모리

BIOS(펌웨어)를 저장하는 용도로 사용 

 

 

 

(static)const Heap Stack
상수 동적메모리 변수
static
툴 닫기 버튼을 누르기 전 까지 살아있음
Class 변수
new ~ 주소에 들어있는 실제 데이터 저장
지역변수, 매개변수 등
블록안에서 생성 및 삭제
new ~ 주소가 저장됨

 

 

- 객체는 메모리 크기 가지며 언어의 int type의 크기를 가진다

- 자바의 경우 객체는 int type의 크기인 4btye 

 

 


 

JAVA API Documentation

 

https://docs.oracle.com/javase/8/docs/api/

 

 

java.lang출력문 System클래스 

Interface, Class 구분 가능

'Java' 카테고리의 다른 글

[Java]객체지향 프로그래밍 I  (0) 2025.04.06
[Java]배열(array)  (0) 2025.03.25
[Java]제어문(조건문, 반복문)  (0) 2025.03.23
[Java]연산자(operator)  (0) 2025.03.23
[Java]변수(variable)  (0) 2025.03.20