본문 바로가기

JAVA

[JAVA] JAVA란?

Java 란?

Java는 노트북 컴퓨터, 모바일, 디바이스, 게임 콘솔, 의료 장치 등을 포함한 수십억 개의 장치에서 실행되는, 객체 지향 프로그래밍 언어 및 소프트웨어 플랫폼 및 문서를 의미하기도 한다.

 

자바는 표준 스펙과 구현으로 나눌 수 있다.

  • 자바 표준 스펙
    • 자바를 이렇게 만들어야 한다는 설계도이며, 문서이다.
    • 이 표준 스펙을 기반으로 여러 회사에서 실제 작동하는 자바를 만든다.
  • 구현
    • 여러 회사에서 자바 표준 스펙에 맞추어 실작동하는 자바 프로그램을 개발한다.
    • 각 각 장단점이 있다. 예를 들어 Amazon Corretto는 AWS에 최적화 되어있다.

 

 

구현된 Java 작동 방식

- Java를 사용하여 App을 제작하려면 각 OS에서 사용할 수 있는 Java 개발 키트(JDK)를 다운로드 해야합니다.

 

1. Java 프로그래밍 언어로 프로그램을 작성하면 컴파일러(Javac)가 프로그램을 Java 바이트 코드(.class 파일)로 변환합니다.

  • 자바 컴파일러(Javac)는 JDK(Java Development Kit)에 포함되어 있다.
  • Java 바이트 코드(.class 파일)는 운영체제와 독립적이다. → JVM을 위한 파일이다.

2. Java 바이트 코드는 Java 런타임 환경(JRE)의 일부인 Java Virtual Machine(JVM)을 위한 명령어 집합입니다.

  • JVM은 Java 바이트 코드를 구문 분석하고 자바 프로그램을 실행하는 가상 머신이다.
  • JVM이 지원된다면, Java 바이트 코드(.class 파일)를 어디서나 수정 없이 실행할 수 있습니다.
  • JVM은 자바 바이트 코드 실행 방식은 각 OS 마다 다르다. 하지만 이건 각 운영체제에 맞는 자바만 설치해주면 상관없다.

3. Java 소프트웨어 플랫폼은 JVM, Java API 및 전체 개발 환경으로 구성됩니다. 

  • Java API는 기본 객체, 네트워킹 및 보안 기능, 확장 가능한 마크업 언어(XML) 생성 및 웹 서비스를 포함하는 광범위한 라이브러리 세트로 구성되어 있습니다.

https://93jpark.tistory.com/54

 

 

Java 장점?

  • 개발할 때 자바와 서버에서 실행할 때는 다른 자바를 사용할 수 있다.
  • 자바의 운영체제 독립성(각 OS마다 각각 개발 ❌ ) 덕분에 각각의 환경에 맞추어 자바를 설치하는 것이 가능하다.

 

  •  자바 프로그램은 JVM과 바이트 코드 덕분에 자바가 설치된 모든 OS에서 실행할 수 있다. OS 호환성 문제는 자바가 해결하기 때문이다.
  • 윈도우 자바는 윈도우 OS가 사용하는 명령어들, MAC이나 리눅스 자바도 본인의 OS가 사용하는 명령어들로 구성되어 있다.개발자는 각 OS에 맞도록 자바를 설치하기만 하면 된다.

 

 

 

 

 

 

 

 

# 출처 : 

https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%9E%90%EB%B0%94-%EC%9E%85%EB%AC%B8/dashboard