본문 바로가기
언어/Java

[JVM]JDK

by 불면증김씨 2022. 1. 24.

키보드/마우스 입력 - RAM 저장 - CPU 연산 - 모니터 출력 - 하드디스크 저장

RAM: 전류 이용 데이터 임시적 저장
-> 컴퓨터가 종료되면 데이터가 소멸
HDD(하드디스크): 전류이용x
예를 들어 돌에 스크래치를 낸다(기록에역할)
레코드판처럼 스크래치를 내서 저장한다.  영구적 저장
-> 컴퓨터가 종료되어도 데이터가 살아있다.

컴퓨터가 부팅이되면 하드디스크에 데이터를 RAM에 적재한다.

1.키보드. CPU. RAM. 하드디스크. 모니터 (하드웨어)
2.window. Mac. 우분투(리눅스) (운영체제)

일반인이 하드웨어를 통해서 제어하는 것은 어렵다. 그래서 그 중간에 운영체제가 있다.
사용자는 키보드라는 인터페이스로 운영체제에 명령을 하고 운영체제가 HDD에 저장한다. 운영체제가 HDD에 하는 과정은 몰라도된다.(편리~)

Os 
-사용자의 명령을 받아서 하드웨어를 직접 제어한다.

3.Java 언어 공부

개발자는 java라는 언어로 os에 명령을 한다.
(일반인은 키보드와 마우스로 os에 명령을 한다.)

명령을 하기위해선 jdk가 필요하다.
Java Development Kit

일반인은 키보드,마우스로 os에게 프로그램을 가지고 명령을 하고 os는 하드웨어에게 명령을 한다.
여기에서 일반인은 프로그램을 만들 수 없다.

개발자가 Java로 os에 명령을 한다는 의미는 다른사람이 만든 프로그램으로 명령을 하는것이 아니라 우리가 주체적으로 프로그램을 만들어서 명령을 하는 것이다. 
여러 os중 각자 필요한 os에 맞는 jkd를 다운받아서 사용한다.

 

 

3강 JDK환경변수 설정

환경변수란?

선생님이 B학생을 부르고 싶다면 2번 강의실로 가야한다. 다른 강의실에서는 부른다면 B학생은 응답을 할 수 없다.
선생님이 꼭 해당 학생이 있는 강의실을 가지 않고 어디에서든지 학생을 호출할 수 있도록 설정하는 것을 환경변수라고 한다.

 

 

자바 언어로 문서를 작성하게 되면 확장자는 .java

(jvm은 jdk를 설치하면 자동으로 설치되는 프로그램이다.)
java파일을 os에 명령하기 위해서는 jvm을 거친다.
(java virtual machine)(자바 가상머신)

Java파일을 jvm에 보낼때 .java는 사람이 이해하는 언어를 jvm이 이해하는 언어 .class로 바꿔줘야 한다. (컴파일)

컴파일
.java -> .class 변경하는 이유는? jvm이 이해할 수 있게 컴파일(번역)

컴파일하는 파일: javac.exe
컴파일된 파일을 jvm에 보내는 파일: java.exe

Jvm은 .class파일을 os에 맞게(window에 맞게) 전달
os는 하드웨어에 명령을 한다.

tip~
이 과정에서 1번은 mac, windows, linux 어디에서든지 해도된다.
 Jdk설치 시 window용으로 설치했다면, window용 프로그램이되고
mac이면 mac용
linux면 linux용이 된다.

—>>
예를 들어, 내가 java로 게임을 만들면 os에 맞는 jdk만 설치한다면 window,mac,linux 모두에서 사용이 가능하다. 어느 운영체제든 작동이 가능하다는 장점이 있다.


결론적으로 개발자는 .Java만 만들면된다~~

 

이클립스 툴에서는

저장 -> .java를 .class로 컴파일

Runtime -> .class를 JVM에 실행

'언어 > Java' 카테고리의 다른 글

[메모리 구조]  (0) 2022.01.24
[JVM]자료형  (0) 2022.01.24
[JVM]static heap stack  (0) 2022.01.24

댓글