자바의 구현, 동작 원리, 호환성

hams·2023년 12월 13일
1

자바

목록 보기
2/11
post-thumbnail

1. 자바 표준 스펙

자바 표준 스펙과 구현

자바 표준 스펙이란? 자바는 이렇게 만들어야 한다는 설계도이며, 문서이다.

  • 이 표준 스펙을 기반으로 자바를 만든다.
  • 자바 표준 스펙은 자바 커뮤니티 프로세스(JCP)를 통해 관리된다.
    --> "이렇게 만들어야 돼"라고 적힌 문서임

자바 구현이란? 여러 회사에서 자바 표준 스펙에 맞춰서 실제 작동하는 자바 프로그램을 개발하는 것.

  • 표준 스펙을 가지고 여러 회사에서 자바를 만든다고 생각하면 된다.
  • 각 회사에 맞는 최적화 프로그램이 있다.ex)Oracle open JDK...
  • 각 회사들은 대부분 다양한 운영체제 버전의 자바도 함께 제공한다.
    -->오라클JDK면 맥용, 윈도우용 리눅스용 등등이 제공된다는 뜻

표준스펙과 구현의 이점은 ?

자바 구현들은 모두 표준 스펙에 맞도록 개발되어 있다. 따라서 오라클 Open JDK를 사용하다가 Amazon Corretto 자바로 변경해도 대부분 문제 없이 동작한다.

2. 자바의 컴파일과 실행

자바 프로그램은 컴파일과 실행 단계를 거친다

Java의 경우 컴파일(Compile)이라는 개념이 있다.
Python과 같은 언어는 컴파일 언어와 다르게 인터프리터 언어로 별도의 컴파일 과정이 없이 소스 코드를 한줄 한줄 읽어가면서 실행을 하게 되지만, 자바의 경우 컴퓨터가 읽기 전에 컴파일을 한 후 컴퓨터가 이해를 한다.

  1. 개발자가 소스코드를 만든다. ex) Hello.java
  2. 자바 컴파일러를 사용해서 소스 코드를 컴파일한다
    • 자바가 제공하는 javac라는 프로그램 사용
    • .java -> .class 파일이 생성
    • 자바 소스코드를 byte코드로 변환하여 자바 가상 머신에서 더 빠르게 실행될 수 있게 최적화하고 문법 오류 검출
  3. 자바 프로그램 실행
    • 자바가 제공하는 java라는 프로그램 사용
    • 자바 가상머신(JVM)이 실행되면서 프로그램이 작동한다.

3.자바의 호환성

일반적인 프로그램은 다른 운영체제에서 실행이 불가능

  • ex) 윈도우 프로그램은 MAC이나 리눅스에서 작동하지 않고 각 운영체제에 맞는 프로그램을 따로 개발해야 함
    -->윈도우 프로그램은 윈도우 OS가 사용하는 명령어들로 구성되어 있기 때문

자바는 자바가 설치 된 모든 OS와 호환이 가능하다

  • 특정 OS에 맞추어 개발을 하지 않아도 된다. 호환성은 자바가 해결한다.
  • 컴파일된 자바 파일은 모든 자바 보한경에서 실행 가능하다
  • 윈도우 자바는 윈도우 OS가 사용하는 명령어들로 구성되어 있다.
    MAC이나 리눅스 자바도 본인의 OS가 사용하 는 명령어들로 구성되어 있다. 개발자는 각 OS에 맞도록 자바를 설치하기만 하면 된다.

0개의 댓글