Java는 언어이자 플랫폼이다
2019. 12. 22. 21:08ㆍJava
728x90
내가 개발한 프로그램이 모든 환경에서 실행되게 하고 싶다면, 모든 플랫폼(OS + processor)에 맞는 컴파일러를 사야 한다. 고급언어를 사용하여 짠 나의 소스코드가 모든 환경에서 잘 실행되도록 컴파일러를 갖추는 것은 많은 비용과 호환성 측면에서 비효율적이다.
하지만 자바를 사용하면 상황이 달라진다.
1+2 연산을 수행할 때
자바에서 system.out.println(1+2);라는 소스코드를 작성하고 저장(.java file)하면
Java Compiler에 의해 바이트 코드 .class file로 컴파일된다.
OS RAM 상에 있는 JVM이
바이트코드 .class file을
각 운영체제가 처리할 수 있도록
native machine code로 변환한다. ('바이너리 코드'와 '기계어'는 동의어가 아니다!!)
우리가 인터넷을 하면서 흔히 봤던 커피 아이콘이 JVM을 의미한다.
이런 이유로 자바를 언어이자 플랫폼이라고 부른다.
참고자료: https://shrtorznzl.tistory.com/82
■ 바이너리 코드(이진코드): 컴퓨터가 인식할 수 있는 0과 1로 구성된 코드
■ 기계어: CPU에서 사용하는 명령어 집합
■ 바이트코드: 가상머신이 이해할 수 있는 이진코드
728x90
반응형
'Java' 카테고리의 다른 글
자바 클래스의 구성요소 - 필드, 메소드, 생성자 (0) | 2019.12.22 |
---|---|
자바 메모리 구조 (0) | 2019.12.22 |
기계어와 어셈블리어(Machine code, Assembly language) (0) | 2019.12.22 |
자바 프로그램의 실행과정 (0) | 2019.12.22 |
자바 URL 클래스 (0) | 2019.12.06 |