OS와 HW의 관계
* OS : 운영체제 EX) 리눅스, Window, mac 등
* HW : 하드웨어
-OS와 HW는 2진수로만 소통
-우리가 입력장치(키보드, 마우스, 마이크 등)으로 명령→OS는 Shell로 가서 우리 명령을 이진수로 변환,HW에 입력(EX>PowerShell)
* shell : os에게 명령을 내리는 프로그램 -저차원 언어, shell로 프로그램 짜는 건 어려움. (+ 대표 고차원 언어 : c언어)
.class / java 채현 사진 부분은 모르겠음-v
자바프로그램 실행과정-v

C언어는 CPU나 운영체제에 따라 따로 만들어야 함.(OS에 종속)
EX) 윈도우에서 컴파일된 실행파일 → 리눅스에서 실행 X
-c언어는 네이티브 코드
JVM(Java virtual Machine)
: 실제 존재하는 컴퓨터 x, 가상컴퓨터를 시뮬레이션하는 소프트웨
.class 파일이 가상머신 JVM을 통해 OS가 이해할 수 있는 언어로 변환/컴파일 됨.
(+ . JAVA는 인간이 이해하는 언어)
JAVA는 어떤 운영체제든 다 연동 가능

자바는 하이브리드 언어
:컴파일, 인터프린트 모두 有
1) 컴파일 : 전체 미리 받아서 통으로 번역, 속도가 인터프린트보다 더 빠름(사전 컴파일)
2) 인터프린트 : 동시통역, 실시간번역, 컴파일X
*바이트 코드
: 가상기계에서 실행되는 코드, 특정 cpu에 의존x
-바이트 코드 안에는 가상기계를 위한 기계어(ex) 010101)가 있음.
* 네이티브 코드 : 운영체제에서 바로 돌아가는 코드 ex) c언어 (단, 안드로이드에서는 자바가 네이티브코드) ~ 바이트코드보다 네이티브 코드가 당연 빠름 ,but 요즘 발전하여 차이 적음
java 프로그램
1. 클래스의 선언으로 시작
-클래스 안의 모든 변수,함수를 선언해야 함.
2. main()메소드부터 실행
특징
-자바는 C언어보다 고차원적 언어.
-하이브리드 언어
-JVM 덕에 한 번 만들면 다양한 OS에 호환 가능
Share article