Post

☕ Java Syntax 001 - Java, JDK, JRE 개요

☕ Java Syntax 001 - Java, JDK, JRE 개요

Java란?

  • “Write Once, Run Anywhere”
  • 1995년 Sun Microsystems에서 개발한 플랫폼 독립성이 보장되는 객체 지향 프로그래밍 언어
  • 자바 표준 스펙은 JVM 구현체가 따라야 하는 설계 문서와 규칙이다.
  • 인터페이스를 통해 자바 표준 스펙을 규정하고, 여러 회사에서 실제 작동하는 JVM을 구현한다.
  • 각 회사들은 대부분 Windows, MAC, Linux 같이 다양한 OS를 호환하는 버전을 함께 제공한다.
  • 자바 구현들은 모두 표준 스펙에 맞도록 개발되어 있기 때문에, 예를 들어 Oracle Open JDK를 사용하다가 Amazon Corretto로 변경해도 프로그램이 문제 없이 동작한다.

JRE, JDK

  • JREJVMJava 표준 라이브러리를 포함한다.
  • JDKJRE에 더해 개발 도구(컴파일러, 디버거 등)를 포함한다.

컴파일과 실행

  • Brobro332.java와 같은 소스 코드를 개발자가 작성한다.
  • 자바 컴파일러를 통해 소스 코드를 컴파일한다.
    • 자바가 제공하는 javac 프로그램을 사용한다.
    • .java → .class 파일이 생성된다.
    • 자바 소스 코드를 바이트 코드로 변환하며 자바 가상 머신(JVM)에서 더 빠르게 실행될 수 있게 최적화하고 문법 오류도 검출한다.
  • 자바 프로그램을 실행한다.
    • 자바가 제공하는 java 프로그램을 사용한다.
    • JVM이 실행되면서 프로그램이 작동한다.
  • IntelliJ IDEA에서는 자바 코드를 실행하면 컴파일과 실행을 동시에 처리한다.
  • Eclipse에서는 단순히 코드를 저장하면 컴파일을 수행하여 오류를 바로 확인할 수 있다.

Java의 운영체제 독립성

  • 일반적인 프로그램이라면, 다른 운영체제에서 실행될 수 없다.
  • 예를 들어 Windows 프로그램은 Windows OS가 사용하는 명령어들로 구성되어 있기 때문에, 해당 명령어는 다른 OS와는 호환되지 않는다.
  • Java 프로그램은 JVM이 설치된 모든 OS에서 실행할 수 있다.
  • OS 호환성 문제는 JVM이 해결한다.
  • Brobro332.class와 같이 컴파일된 자바 파일은 모든 자바 환경에서 실행할 수 있다.
  • 개발자는 각 OS에 맞는 자바를 설치하기만 하면 된다.
This post is licensed under CC BY 4.0 by the author.