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 |