logo

Java는 해석됩니까, 아니면 컴파일됩니까?

Java 프로그래밍 언어는 1990년대 초 Sun Microsystem에서 개발되었습니다. Java는 객체 지향적이고 단순하며 효율적이고 강력하며 범용적인 프로그래밍 언어입니다. 주로 웹 기반 엔터프라이즈 애플리케이션에 사용됩니다. 처음에는 다양한 플랫폼에서 실행되는 임베디드 네트워크 애플리케이션용으로 설계되었습니다.

우리가 배우기 시작할 때 자바 프로그래밍 , 한 가지 질문이 발생합니다. Java가 해석되었는지, 컴파일되었는지, 아니면 둘 다인지입니다. 또한 이 질문은 Java 관련 인터뷰에서 인터뷰 대상자가 물을 수도 있습니다. 그래서 이 질문에 대한 대답은 Java는 해석되고 컴파일됩니다. . 그러나 Java가 컴파일되었는지 해석되었는지는 확실하지 않습니다. 소스 파일을 컴파일한 후 기계어 코드를 생성하지 않으며 소스 파일을 해석하여 코드 명령을 한 줄씩 실행하지도 않습니다. 이 질문에 답하려면 Java가 플랫폼 독립적인 언어라는 점을 이해해야 합니다. 이는 플랫폼에서 Java 코드를 작성할 수 있고 변경 없이 하드웨어 운영 시스템과 같은 다른 플랫폼에서 실행할 수 있음을 의미합니다. 따라서 Java가 플랫폼 독립성을 어떻게 달성하는지 이해하면 이 질문에 대한 완전한 답을 얻을 수 있습니다.

Java는 완전히 이식 가능합니다. 동일한 Java 코드는 하드웨어 호환성이나 운영 체제에 관계없이 다양한 플랫폼에서 동일하게 실행됩니다.

Java 소스 코드는 먼저 Java 컴파일러를 사용하여 바이너리 바이트 코드로 컴파일된 다음 이 바이트 코드는 소프트웨어 기반 인터프리터인 JVM(Java Virtual Machine)에서 실행됩니다. 따라서 Java는 해석되고 컴파일되는 것으로 간주됩니다.

컴파일된 바이트 코드는 다음을 허용합니다. JVM 작고 효율적이며 빠른 성능을 발휘합니다. 또한 이 바이트 코드는 Java 프로그래밍 언어에 대한 이식성을 제공합니다. 이를 통해 기계의 하드웨어, 소프트웨어 구성 요소 및 구성에 관계없이 기계에 올바르게 구현된 모든 JVM에 대해 이 코드를 실행할 수 있습니다. 거의 모든 웹 브라우저에는 Java 애플릿 코드를 실행하기 위한 JVM이 포함되어 있습니다.

간단한 Java 프로그램으로 이를 이해해 보겠습니다.

간단한 Java 프로그램과 작동 중

선호하는 텍스트 편집기를 사용하여 간단한 .java 파일을 만듭니다.

Java는 해석됩니까, 아니면 컴파일됩니까?

아래 코드를 넣으세요.

 class Basic{ public static void main(String args[]){ System.out.println('Hello JavaTpoint'); } } 

그리고 파일을 저장하세요.

이제 .java 파일을 저장한 디렉토리를 확인하세요.

Java는 해석됩니까, 아니면 컴파일됩니까?

다음 두 단계를 통해 Java 애플리케이션을 실행할 수 있습니다.

  1. 자바 프로그램 컴파일
  2. 애플리케이션 실행

Java 애플리케이션을 컴파일합니다.

Java 프로그램을 컴파일하려면 아래 명령을 실행하십시오.

 javac Basic.java 

위 명령은 Java 프로그램을 컴파일하고 Java 애플리케이션의 바이트 코드가 포함된 Java 프로그램의 .class 파일을 생성합니다.

Java는 해석됩니까, 아니면 컴파일됩니까?

위 출력에서 ​​Java 프로그램을 컴파일한 후 .class 파일이 생성되는 것을 볼 수 있습니다. 이 파일에는 Java 프로그램의 바이트 코드가 포함되어 있습니다. 우리는 JVM을 구현하는 모든 머신에서 이 바이트 코드를 실행할 수 있습니다.

애플리케이션을 실행합니다:

이 애플리케이션을 실행하려면 아래 명령을 실행하십시오.

 java Basic 

위의 명령은 바이트 코드를 실행하고 프로그램의 기능을 수행합니다.

Java는 해석됩니까, 아니면 컴파일됩니까?

위의 출력에서 ​​간단한 설명을 인쇄했습니다.

Java 프로그램의 단계별 실행:

Java는 해석됩니까, 아니면 컴파일됩니까?
  1. Java 코드를 작성하고 다음을 사용하여 파일을 저장합니다. .자바
  2. 이제 이 파일은 javac라는 Java 컴파일러를 사용하여 컴파일됩니다.
  3. Java 컴파일러는 Java 파일을 컴파일하고 바이트 코드(C 컴파일러와 달리 실제로 기계어 코드가 아님)가 있는 .class 파일을 생성합니다.
  4. 이렇게 생성된 바이트 코드는 실행 불가능한 코드이므로 이제 이를 기계어 코드로 변환하려면 인터프리터가 필요합니다. 여기서는 JVM이 이를 처리합니다.
  5. 이제 JVM은 이 바이트 코드를 실행하여 머신에서 Java 바이트 코드를 실행합니다.
  6. 이제 우리 프로그램은 기능을 수행하고 원하는 출력을 제공합니다.

결론:

Java는 해석되고 컴파일되는 것으로 간주됩니다. Java 컴파일러(javac)와 JVM(실제로는 소프트웨어 기반 인터프리터)을 사용하여 Java 애플리케이션을 머신에서 완전히 실행합니다.