TIL (ToDay I LearNEd)/Java

Java의 작동 원리와 장점

sooyeoneo 2024. 9. 9. 11:31

 

Java 란?

 

Java 표준 스펙과 구현

 

출처 : 김영한의 자바 입문 수업자료

 

Java 표준 스펙

  • 이렇게 만들어라! 하는 설계도이자 문서
  • 표준 스펙을 기반으로 여러 회사에서 실제 작동하는 Java 를 만듦.
  • Java 표준 스펙은 자바 커뮤니티 프로세스(JCP)를 통해 관리

다양한 Java 구현

  • 여러 회사에서 Java 표준 스펙에 맞춰 실제 작동하는 Java 프로그램을 개발
  • Amazon Corretto는 AWS에 최적화
  • 각 회사들은 대부분 윈도우, Mac, 리눅스 같이 다양한 OS에서 작동하는 버전의 Java 도 함께 제공.
다양한 Java 구현 : 사이트 참조

https://whichjdk.com/ko

출처 : 김영한의 자바 입문 수업자료

 

Java 구현은 표준 스펙에 맞도록 개발되어 있기 때문에,

오라클 Open JDK를 사용하다가 Amazon Corretto Java로 변경해도 대부분 문제 없이 동작.

(학습 단계에서는 어떤 자바를 사용하든지 상관X)

 

 

출처 : 김영한의 자바 입문 수업자료

 

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

 

1. Hello.java  와 같은 자바 소스 코드를 개발자가 작성

2. 자바 컴파일러를 사용해서 소스 코드를 컴파일

  • 자바가 제공하는 javac 라는 프로그램을 사용
  • .java  ➝  .class 파일 생성
  • 자바 소스 코드를 바이트코드로 변환하며 자바 가상 머신에서 더 빠르게 실행될 수 있게 최적화 + 문법 오류 검출

자바 프로그램을 실행

자바가 제공하는 java 라는 프로그램 사용

자바 가상 머신(JVM)이 실행되면서 프로그램 작동

 

IDE와 Java

 

출처 : 김영한의 자바 입문 수업자료

 

인텔리제이는 내부에 Java 를 편리하게 설치하고 관리할 수 있는 기능 제공

기능을 사용하면 인텔리제이를 통해 Java 를 편리하게 다운로드 받고 실행 가능.

 

 

인텔리제이를 통한 자바 컴파일, 실행 과정

 

출처 : 김영한의 자바 입문 수업자료

 

컴파일

자바 코드를 컴파일 하려면 javac 라는 프로그램을 직접 사용해야 하는데, 인텔리제이는 자바 코드를 실행할 때 이 과정을 자동으로 처리

ex) javac Hello.java

인텔리제이 화면에서 프로젝트에 있는 out 폴더에 가보면 컴파일된 .class 파일을 지정해주면 됨.

 

실행

자바를 실행하려면 java 라는 프로그램을 사용해야 함. 이때 컴파일된 .class 파일을 지정해주면 됨.

ex) java Hello, 참고로 확장자는 제외

 

인텔리제이에서 자바 코드를 실행하면 컴파일과 실행을 모두 한 번에 처리

 

 

Java 와 운영체제 독립성

일반적인 프로그램

출처 : 김영한의 자바 입문 수업자료

 

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

ex) 윈도우 프로그램은 Mac 이나 리눅스에서 작동이 불가

       ➝ 윈도우 OS 가 사용하는 명령어로 구성되어 있기 때문에 해당 명령어가 다른 OS와 호환이 안 됨.

 

 

Java Program

출처 : 김영한의 자바 입문 수업자료

 

 

Java 는 모든 OS 에서 실행 가능

  • 특정 OS 에 맞춰 개발하지 않아도 됨. OS 호환성 문제를 Java 가 해결함. 
  • Hello.class 와 같이 컴파일된 자바 파일은 모든 자바 환경에서 실행 가능.
  • 윈도우 Java 는 윈도우 OS 가 사용하는 명령어들로 구성.
    Mac 이나 리눅스 Java도 본인의 OS가 사용하는 명령어들로 구성.
  • 개발자는 OS에 맞도록 Java 를 설치.

 

Java 개발과 운영 환경

출처 : 김영한의 자바 입문 수업자료

 

  • 개발할 때 Java 와 서버에서 실행할 때 다른 Java 를 사용할 수 있음.
  • 개발자들은 개발의 편의를 위해 주로 Window 나 Mac OS 를 주로 사용
  • 서버는 주로 리눅스를 사용. AWS를 사용하면 Amazon Corretto Java 를 AWS 리눅스 서버에 설치하면 됨.
  • Java 의 운영체제 독립성 덕분에 각각의 환경에 맞추어 Java 를 설치하는 것이 가능

 

 

 

 

TIL 9월 9일