Education/Java Setting

(BASIC-0) What is JAVA Technology?

BeomJun.Kwon 2022. 10. 1. 14:13

 

What is JAVA Technology?

Java는 1995년 Sun Microsystems에서 처음 출시한 프로그래밍 언어 및 컴퓨팅 플랫폼이고 다중 플랫폼, 객체 지향 및 네트워크 중심 언어이기도 하다. Java는 처음에는 미미한 수준에서 발전하여 많은 서비스와 응용 프로그램이 구축되는 안정적인 플랫폼을 제공하고 오늘날의 디지털 세계에서 많은 부분을 차지하게 되었다. 가장 많이 사용되는 프로그래밍 언어 중 하나이다.


Java Platforms

Java 는 구현 종속성을 줄이도록 설계된 범용 클래스 기반 객체 지향 프로그래밍 언어이다. 여기에는 실행 엔진, 컴파일러 및 라이브러리 세트가 포함되어있다.

 

Java Features

  • 배우기 쉬운 프로그래밍 언어 중 하나이다.
  • 코드를 한 번만 작성하면 거의 모든 컴퓨팅 플랫폼에서 실행할 수 있다.
  • Java는 플랫폼에 독립적이고 한 기계에서 개발된 일부 프로그램은 다른 기계에서 실행할 수 있다.
  • 객체 지향 응용 프로그램을 구축하기 위해 설계되었다.
  • 자동 메모리 관리 기능이 있는 다중 스레드 언어이다.
  • 인터넷의 분산 환경을 위해 만들어졌다.
  • 네트워크 중심으로 분산 컴퓨팅을 촉진한다.

JDK ( Java Development kit - 자바 개발 키트 )

JDK는 애플릿과 자바 애플리케이션을 만드는 데 사용되는 소프트웨어 개발 환경이다. Java 개발자는 Windows, macOS, Solaris 및 Linux에서 사용할 수 있다. JDK는 Java 프로그램을 코딩하고 실행하는 데 도움이 된다. 동일한 컴퓨터에 둘 이상의 JDK 버전을 설치할 수 있다.

 

JDK 사용 이유

  • JDK에는 Java 프로그램을 작성하는 데 필요한 도구와 이를 실행하는 JRE가 포함되어 있다.
  • 컴파일러, Java 응용 프로그램 실행기, Appletviewer 등이 포함된다.
  • 컴파일러는 Java로 작성된 코드를 바이트 코드로 변환한다.
  • Java 애플리케이션 런처는 JRE를 열고 필요한 클래스를 로드하고 기본 메소드를 실행한다.

* 바이트 코드란?


JRE ( Java Runtime Environment - 자바 런타임 환경 )

JRE는 다른 소프트웨어를 실행하도록 설계된 소프트웨어이다. 여기에는 클래스 라이브러리, 로더 클래스 및 JVM이 포함된다. 간단히 말해서 Java 프로그램을 실행하려면 JRE가 필요하다. 프로그래머가 아닌 경우에는 JDK를 설치할 필요가 없고 JRE만 설치하면 Java 프로그램을 실행할 수 있다.

 

JRE 사용 이유

  • JRE에는 클래스 라이브러리, JVM 및 기타 지원 파일이 포함되어 있다. 디버거, 컴파일러 등과 같은 Java 개발 도구는 포함되어 있지 않다.
  • math, swing, util, lang, awt 및 런타임 라이브러리와 같은 중요한 패키지 클래스를 사용한다.
  • Java 애플릿을 실행해야 하는 경우 시스템에 JRE가 설치되어 있어야 한다.

JVM

JVM(Java Virtual Machine)은 Java 코드 또는 애플리케이션을 구동하기 위한 런타임 환경을 제공하는 엔진이다. Java 바이트 코드를 기계어로 변환한다. JVM은 JRE(Java Run Environment)의 일부이다. 다른 프로그래밍 언어에서 컴파일러는 특정 시스템에 대한 기계어 코드를 생성한다. 그러나 Java 컴파일러는 Java 가상 머신으로 알려진 가상 머신용 코드를 생성한다.

 

JVM features

  • JVM은 플랫폼 독립적인 Java 소스 코드 실행 방법을 제공한다.
  • 여기에는 수많은 라이브러리, 도구 및 프레임워크가 있다.
  • Java 프로그램을 실행하면 모든 플랫폼에서 실행할 수 있고 많은 시간을 절약할 수 있다.
  • JVM은 Java 소스 코드를 저수준 기계어로 변환하는 JIT(Just-in-Time) 컴파일러와 함께 제공됩니다. 따라서 일반 응용 프로그램보다 빠르게 실행된다.

 

 

 

Java 프로그래밍 언어 플랫폼 네 가지 유형

  1. Java Platform, Standard Edition(Java SE) : Java SE의 API는 Java 프로그래밍 언어의 핵심 기능을 제공합니다. 유형 및 개체의 모든 기반을 고급 클래스에 정의합니다. 네트워킹, 보안, 데이터베이스 액세스, 그래픽 사용자 인터페이스(GUI) 개발 및 XML 구문 분석에 사용됩니다.
  2. Java EE(Java Platform, Enterprise Edition) : Java EE 플랫폼은 확장성이 뛰어나고, 대규모이며, 다계층이며, 안정적이고 안전한 네트워크 응용 프로그램을 개발하고 실행하기 위한 API 및 런타임 환경을 제공합니다.
  3. Java Programming Language Platform, Micro Edition (Java ME) : Java ME 플랫폼은 휴대전화와 같은 소형 장치에서 Java 프로그래밍 언어 응용 프로그램을 실행하는 API 및 작은 공간 가상 머신을 제공합니다.
  4. Java FX : JavaFX는 경량 사용자 인터페이스 API를 사용하여 풍부한 인터넷 응용 프로그램을 개발하기 위한 플랫폼입니다. Java가 네트워크로 연결된 데이터 소스에 연결하기 위해 고성능 클라이언트와 최신 모양과 느낌 및 고급 API를 활용하는 데 도움이 되는 하드웨어 가속 그래픽 및 미디어 엔진을 사용합니다.

 

 

기계어

0과 1로 이루어진 컴퓨터가 사용하는 언어

 

저급언어

어셈블리어와 같이 기계어를 의미있는 언어로 변경하여 사용하는 언어이고 컴퓨터가 접근하기 쉬운 언어

     - 어셈블러 : 어셈블리어를 기계어로 바꿔주는 프로그램

 

고급언어

Java, C, C++ 과 같이 저급 프로그래밍 언어보다 가독성이 좋고 사람이 사용하기 편한 언어

 

컴파일러

고급언어로 작성된 문서를 기계어로 변환해주는 프로그램

 

  기계어 저급언어 고급언어
실행 속도
편리성 / 가독성
난이도

 

 

 

JVM  작동 과정

Step1) 두 개의 숫자를 더한 값을 표시하는 코드는 System.out.println(1+2)이며 .java 파일로 저장됩니다.

Step2) 자바 컴파일러를 사용하여 코드는 바이트 코드라고 하는 중간 코드로 변환됩니다 . 출력은 .class 파일입니다.

Step3) ​​이 코드는 어떤 플랫폼에서도 이해되지 않고 Java Virtual Machine 이라는 가상 플랫폼에서만 이해됩니다 .

Step4) 이 가상 머신은 운영 체제의 RAM에 있습니다. 가상 머신에 이 바이트코드가 제공되면 작업 중인 플랫폼을 식별하고 바이트코드를 기본 머신 코드로 변환합니다.

 

 

JAVA 플랫폼이 독립적인 이유

C 컴파일러와 마찬가지로 Java 컴파일러는 특정 시스템에 대한 기본 실행 코드를 생성하지 않는다. 대신 Java는 바이트코드라는 고유한 형식을 생성하고 가상 머신 사양에 명시된 규칙에 따라 실행된다. 따라서 Java는 플랫폼 독립적인 언어이다. 바이트코드는 모든 OS에 설치된 모든 JVM에서 이해할 수 있다. 간단히 말해서 Java 소스 코드는 모든 운영 체제에서 실행할 수 있다.

 

 

 

 

 

[DOC] https://www.java.com/en/download/help/whatis_java.html

[참조] https://www.guru99.com/java-platform.html

 

'Education > Java Setting' 카테고리의 다른 글

(BASIC-3) JAVA 동작 구조  (0) 2022.10.01
(BASIC-1) JAVA 설치  (0) 2022.08.15
(BASIC-2) JAVA 환경 변수 설정  (0) 2022.08.08