장점 소개 Java

⚡ 스마트 요약

장점 소개 Java 이 튜토리얼에서는 범용 클래스 기반 객체 지향 프로그래밍 언어이자 컴퓨팅 플랫폼으로 사용되는 언어에 대해 설명합니다. JavaJDK의 역사, 버전, 기능, 핵심 구성 요소(JDK, JVM, JRE), 플랫폼 에디션 및 바이트코드 메커니즘에 대한 설명입니다. Java 한 번 작성하면 어디서든 실행할 수 있는 진정한 언어입니다.

  • 핵심 정의: Java 범용적인 클래스 기반 객체 지향 프로그래밍 언어이자, 이식성과 안정성을 고려하여 설계된 런타임 플랫폼입니다.
  • 🧩 세 가지 구성 요소: The Java 이 플랫폼은 개발을 위한 JDK, 실행을 위한 JVM, 그리고 런타임 지원을 위한 JRE로 구성됩니다.
  • 📜 역사적 주요 사건: 원래는 1991년에 OAK라고 불렸으나, 이름이 변경되었습니다. Java 1995년에 설립되어 인수되었습니다. Oracle 2009년에 썬 마이크로시스템즈에서 나왔습니다.
  • 🌐 네 가지 판본: Java SE, Java EE (현재 Jakarta EE) Java 나와 JavaFX는 데스크톱, 엔터프라이즈 시스템, 임베디드 장치 및 리치 클라이언트를 대상으로 합니다.
  • 🔁 플랫폼 독립성: Java 소스 코드는 모든 JVM에서 실행되는 바이트코드로 컴파일되므로, 운영 체제 전반에 걸쳐 진정한 '한 번 작성으로 어디서든 실행'이 가능합니다.

장점 소개 Java - 어떻게 Java 가상 머신 작업

Java?

Java 이 언어는 구현 의존성을 최소화하도록 설계된 범용 클래스 기반 객체 지향 프로그래밍 언어입니다. 또한 애플리케이션 개발을 위한 컴퓨팅 플랫폼이기도 합니다. Java 빠르고 안전하며 신뢰할 수 있기 때문에 노트북, 데이터 센터, 게임 콘솔, 과학용 슈퍼컴퓨터, 휴대폰 및 임베디드 장치의 소프트웨어에 사용됩니다. 멀티 플랫폼 네트워크 중심 언어인 만큼, Java 업계에서 가장 널리 채택되는 프로그래밍 언어 중 하나로 남아 있으며, 대부분의 조직에서 핵심적인 프로젝트를 구축하는 데 선호됩니다.

무엇인가 Java 플랫폼?

The Java 플랫폼 개발자가 프로그램을 만들고 실행하는 데 도움이 되는 프로그램 모음입니다. Java 애플리케이션을 효율적으로 실행합니다. 실행 엔진, 컴파일러, 라이브러리 세트와 이러한 요소들의 상호 운용성을 정의하는 사양을 함께 제공합니다. 제임스 고슬링이 개발했습니다. Java 썬 마이크로시스템즈의 플랫폼, 그리고 Oracle 해당 기업은 2009년 Sun Microsystems 인수를 통해 이를 확보했습니다.

이 영상은 소개합니다 Java 플랫폼 그리고 그 이유를 설명합니다 Java 플랫폼이자 프로그래밍 언어이기도 합니다.

여기에서 확인하세요 동영상에 접근할 수 없는 경우.

Java 사용?

다음은 실제 세계에서 가장 중요한 몇 가지 응용 사례입니다. Java:

  • 개발ping Android 응용 프로그램.
  • 대규모 조직을 위한 엔터프라이즈 소프트웨어 개발.
  • 다양한 모바일 기기에 전력을 공급합니다 Java 분야의 다양한 어플리케이션에서 사용됩니다.
  • 과학 컴퓨팅 애플리케이션 실행.
  • 빅데이터 분석 파이프라인을 구동합니다.
  • 임베디드 하드웨어 장치 프로그래밍.
  • Apache, JBoss, GlassFish, Tomcat과 같은 서버 측 기술.

그 역사 Java 프로그래밍 언어

다음은 이 지역 역사의 중요한 이정표들입니다. Java 언어 :

  • The Java 언어는 원래 OAK라고 불렸습니다.
  • 원래 OAK가 상업적으로 실패했던 휴대용 기기 및 셋톱박스 처리를 위해 개발되었습니다.
  • 1995년에 Sun은 해당 언어의 이름을 "로 변경했습니다.Java그리고 급속도로 성장하는 월드 와이드 웹을 활용하기 위해 사업 방향을 재조정했습니다.
  • 2009년에 Oracle Corporation은 Sun Microsystems를 인수하고 세 가지 주요 Sun 소프트웨어 자산의 소유권을 인수했습니다. Java, MySQL예산 및 Solaris.

Java 버전

다음은 간략한 역사입니다. Java 최신 장기 지원 릴리스까지 업데이트된 버전 및 출시일 정보입니다.

Java 버전 날짜를 풀어
JDK 알파 및 베타 1995
JDK1.0 23 년 1996 월 XNUMX 일
JDK1.1 19th 2 월 1997
J2SE 1.2 8th 12 월 1998
J2SE 1.3 8th 월 2000
J2SE 1.4 6th 2 월 2002
J2SE 5.0 30th Sep 2004
Java SE 6 11th 12 월 2006
Java SE 7 28th July 2011
Java SE 8 (LTS) 3 월 182014th
Java SE 9 21st 9 월 2017
Java SE 10 3 월 202018th
Java SE 11 (LTS) 25th Sep 2018
Java SE 12 3 월 192019th
Java SE 13 17th Sep 2019
Java SE 14 3 월 172020th
Java SE 15 15th Sep 2020
Java SE 16 3 월 162021th
Java SE 17 (LTS) 14th Sep 2021
Java SE 18 22년 2022월 XNUMX일
Java SE 19 20th Sep 2022
Java SE 20 21st 3 월 2023
Java SE 21 (LTS) 19th Sep 2023
Java SE 22 3 월 192024th
Java SE 23 17th Sep 2024
Java SE 24 3 월 182025th
Java SE 25 (LTS) 16th Sep 2025

Java 기능

가장 중요한 것 중 일부는 다음과 같습니다. Java 거의 30년 동안 그 인기를 유지시켜 온 특징:

  • 가장 배우기 쉬운 객체 지향 프로그래밍 언어 중 하나입니다.
  • "한 번 작성하면 어디서든 실행 가능" — 한 컴퓨터에서 컴파일된 코드는 거의 모든 컴퓨팅 플랫폼에서 실행됩니다.
  • Java 바이트코드 실행 모델 덕분에 플랫폼에 독립적입니다.
  • 이 소프트웨어는 객체 지향 애플리케이션을 위해 처음부터 설계되었습니다.
  • 이 언어는 자동 메모리 관리(가비지 컬렉션) 기능을 갖춘 멀티스레드 언어입니다.
  • 인터넷의 분산 환경을 위해 만들어졌습니다.
  • 네트워크 중심적인 설계 덕분에 분산 컴퓨팅을 용이하게 합니다.

구성 요소 Java 프로그래밍 언어

A Java 프로그래머는 사람이 읽을 수 있는 언어로 코드를 작성합니다. 소스 코드CPU는 소스 코드를 직접 이해하지 못합니다. CPU는 기계어 코드만 실행하며, 이 기계어 코드는 CPU 제품군마다 다릅니다. 이러한 간극을 메우기 위해, Java 플랫폼은 소스 코드를 이식 가능한 중간 형태로 변환합니다. 이 모든 과정은 JDK, JVM, JRE라는 세 가지 핵심 구성 요소 내에서 이루어집니다.

Java JDK(JDB 개발 키트)

JDK는 애플릿을 구축하는 데 사용되는 소프트웨어 개발 환경입니다. Java 응용 프로그램. JDK의 전체 형태는 다음과 같습니다. Java 개발 키트. Java 개발자는 그것을 사용할 수 있습니다 Windows, macOS, Solaris그리고 리눅스. JDK는 그들이 코드를 작성하고 실행하는 데 도움을 줍니다. Java 프로그램. 동일한 컴퓨터에 둘 이상의 JDK 버전을 설치할 수 있습니다.

JDK를 사용하는 이유는 무엇일까요?

  • JDK에는 코드를 작성하는 데 필요한 도구가 포함되어 있습니다. Java 프로그램과 이를 실행하는 JRE.
  • 컴파일러가 포함되어 있습니다.javac) Java 응용 프로그램 실행기, AppletViewer 및 이와 유사한 유틸리티.
  • 컴파일러는 작성된 코드를 변환합니다. Java 바이트코드로 변환합니다.
  • The Java 응용 프로그램 시작 관리자는 JRE를 열고 필요한 클래스를 로드한 다음 해당 기본 메서드를 실행합니다.

Java 가상 머신(JVM)

The Java 가상 머신(JVM) 실행 환경을 제공하는 엔진입니다. Java 코드 또는 애플리케이션입니다. 변환합니다. Java 바이트코드를 기계어로 변환합니다. JVM은 그 일부입니다. Java JRE(JavaScript Runtime Environment)는 다른 프로그래밍 언어에서는 컴파일러가 특정 시스템에 맞는 기계어 코드를 생성하는 반면, 다른 프로그래밍 언어에서는 컴파일러가 특정 시스템에 맞는 기계어 코드를 생성하는 데 사용됩니다. Java 컴파일러는 가상 머신이라고 알려진 장치용 코드를 생성합니다. Java 가상 기기.

왜 JVM인가?

  • JVM은 플랫폼 독립적인 실행 방법을 제공합니다. Java 소스 코드.
  • 이 소프트웨어는 기본적으로 사용할 수 있는 다양한 라이브러리, 도구 및 프레임워크를 제공합니다.
  • 일단 컴파일을 완료하면 Java 이 프로그램은 어떤 플랫폼에서든 실행할 수 있어 시간을 크게 절약할 수 있습니다.
  • JVM에는 바이트코드를 런타임에 저수준 기계어로 변환하는 JIT(Just-In-Time) 컴파일러가 포함되어 있어, 일반적으로 인터프리터 방식의 애플리케이션보다 더 빠르게 실행됩니다.

Java 런타임 환경(JRE)

JRE는 다른 소프트웨어를 실행하도록 설계된 소프트웨어입니다. 클래스 라이브러리, 로더 클래스 및 JVM을 포함합니다. 간단히 말하면, 특정 소프트웨어만 실행하고 싶다면 JRE를 사용하면 됩니다. Java 프로그램을 실행하는 경우(개발하는 것이 아니라), 전체 JDK가 아닌 JRE만 필요합니다.

JRE를 사용하는 이유는 무엇일까요?

  • JRE에는 클래스 라이브러리, JVM 및 기타 지원 파일이 포함되어 있습니다. 디버거 또는 컴파일러와 같은 개발자 도구는 포함되어 있지 않습니다.
  • 이 앱은 다음과 같은 중요한 패키지 클래스를 사용합니다. math, swing, util, lang, awt그리고 런타임 라이브러리.
  • 달려야 한다면 Java 애플릿이나 애플리케이션을 사용하려면 시스템에 JRE가 설치되어 있어야 합니다.

다양한 종류의 Java 플랫폼

XNUMX가지의 뚜렷한 Java 각기 다른 배포 대상에 맞춰 설계된 프로그래밍 언어 플랫폼:

1. Java 플랫폼, 스탠다드 에디션(Java SE) : Java SE의 API는 다음을 제공합니다. Java 프로그래밍 언어의 핵심 기능입니다. 기본 데이터 유형과 객체부터 네트워킹, 보안, 데이터베이스 접근, 그래픽 사용자 인터페이스(GUI) 개발 및 XML 구문 분석에 사용되는 고급 클래스에 이르기까지 모든 것을 정의합니다.

2. Java 플랫폼, 엔터프라이즈 에디션(자카르타 EE, 이전 명칭) Java EE): Jakarta EE 플랫폼은 개발을 위한 API 및 런타임 환경을 제공합니다.ping 또한 확장성이 뛰어나고 대규모이며 다계층 구조를 갖춘 안정적이고 안전한 네트워크 애플리케이션을 실행합니다. Oracle 플랫폼을 다음으로 이전했습니다. Eclipse Foundation 2017년에 Jakarta EE로 브랜드명을 변경했습니다.

3. Java 플랫폼, 마이크로 에디션(Java 나): The Java ME 플랫폼은 API와 저사양 가상 머신을 제공하여 실행을 지원합니다. Java 피처폰 및 임베디드 컨트롤러와 같은 소형 기기용 애플리케이션.

4. JavaFX : JavaFX는 개발 플랫폼입니다.ping 경량 사용자 인터페이스 API를 사용하는 풍부한 인터넷 애플리케이션입니다. 하드웨어 가속 그래픽 및 미디어 엔진을 사용하여 애플리케이션 개발을 지원합니다. Java 고성능 클라이언트, 현대적인 사용자 인터페이스, 그리고 네트워크 데이터 소스에 연결하기 위한 고급 API를 활용하십시오.

이해하기 Java 프로그래밍 언어를 배우기 위해서는 컴퓨터 프로그램이 어떻게 명령을 실행하고 동작을 수행하는지에 대한 몇 가지 기본 개념을 다시 살펴볼 필요가 있습니다.

PC란 무엇입니까?

컴퓨터는 연산을 수행할 수 있는 전자 장치입니다. 모니터, 키보드, 마우스, 그리고 정보를 저장하는 메모리로 구성되어 있습니다. 하지만 가장 중요한 구성 요소는 바로 프로세서입니다. 프로세서는 컴퓨터의 모든 사고 과정을 담당하는데, 그렇다면 프로세서는 실제로 어떻게 사고를 하는 것일까요? 텍스트, 이미지, 비디오를 어떻게 이해하는 것일까요?

PC란 무엇인가 - 핵심 구성 요소
PC 란 무엇입니까?

Assembly 언어?

컴퓨터는 전자 장치이므로 전자 신호, 즉 이진 신호만 이해합니다. 5볼트의 전자 신호는 이진수 1을 나타낼 수 있고, 0볼트는 이진수 0을 나타낼 수 있습니다. 여러분의 PC는 이러한 신호들을 끊임없이 입력받습니다.

컴퓨터가 처리하는 이진 신호

이 신호의 8비트가 그룹화되어 텍스트, 숫자 및 기호를 해석합니다.

8비트 그룹ping 텍스트 및 기호용

예를 들어, # 기호는 컴퓨터에서 10101010으로 인식됩니다. 마찬가지로, "덧셈" 함수의 패턴은 10000011로 표현됩니다.

컴퓨터 명령어의 이진 표현

이것을 8비트 컴퓨팅이라고 합니다. 최신 프로세서는 한 번에 64비트 명령어를 디코딩할 수 있습니다. 그렇다면 이 개념은 무엇과 관련이 있을까요? Java예를 들어 설명해 보겠습니다.

컴퓨터에게 이진수(10000011)로 표현된 두 숫자를 더하라고(1 + 2) 지시하고 싶다고 가정해 봅시다. 어떻게 컴퓨터에 이 명령을 내릴 수 있을까요? 어셈블리 언어를 사용하여 코드를 실행합니다.

"Assembly 언어는 소프트웨어 개발 언어의 가장 기본적인 형태입니다.”

명령어는 다음과 같은 형식으로 실행합니다. 어셈블리 언어로 두 숫자를 더하는 코드는 다음과 같습니다.

Assembly 언어 두 숫자 더하기 예제

  • 메모리 위치 A에 1번 저장소가 있습니다.
  • 메모리 위치 B에 2번 저장소가 있습니다.
  • 위치 A와 B의 내용을 더하세요.
  • 결과를 저장합니다.

1950년대, 컴퓨터가 거대하고 전력 소모가 심했던 시절에는 맵(map)을 사용하여 어셈블리 코드를 해당 기계어 코드(1과 0)로 변환했습니다.ping 종이에 코드를 적어 기계 카드에 입력하고 컴퓨터로 전송했습니다. 컴퓨터는 이 코드를 읽고 프로그램을 실행했습니다. 이는 변환 과정을 자동화한 어셈블러가 등장하기 전까지는 매우 긴 과정이었습니다.

어셈블러와 컴파일러란 무엇입니까?

기술의 발전과 함께 입출력 장치가 발명되었습니다. 어셈블러를 사용하면 프로그램을 PC에 직접 입력할 수 있었고, 어셈블러는 이를 해당 기계어 코드(110001…)로 변환하여 프로세서에 전달합니다. 다시 1 + 2 예시로 돌아가 보면, 어셈블러는 어셈블리 코드를 기계어 코드로 변환하여 출력합니다.

어셈블러는 어셈블리 코드를 기계어로 변환합니다.

어셈블리 언어 사용 외에도, 출력을 표시하기 위해 운영체제에서 제공하는 함수를 호출해야 합니다.

어셈블러만으로는 충분하지 않습니다. 긴 소스 코드를 더 작고 최적화된 조각으로 압축하려면 컴파일러도 필요합니다. 고급 소프트웨어 개발 언어를 사용하면 위의 전체 어셈블리 코드 조각이 다음과 같은 단 한 줄로 축소됩니다. printf(“%d”, 1+2)컴파일러는 여러분의 코드를 변환합니다. C 언어 코드를 어셈블리 코드로 변환하고, 어셈블러는 그 어셈블리 코드를 다시 기계어로 변환합니다. transmit프로세서에 연결됩니다. PC에 가장 일반적으로 사용되는 프로세서는 인텔 프로세서입니다.

컴파일러 및 어셈블러 파이프라인

최신 컴파일러는 종종 어셈블러를 함께 제공하여 고급 언어 코드를 기계어로 직접 변환할 수 있도록 합니다.

자, 그럼 가정해 봅시다. Windows 인텔 프로세서에서 실행됩니다. 운영 체제와 프로세서의 조합을 플랫폼이라고 합니다. 가장 일반적인 플랫폼은 다음과 같습니다. Windows 인텔 기반이며, 윈텔(Wintel) 플랫폼으로도 알려져 있습니다. 다른 인기 있는 플랫폼으로는 AMD가 있습니다. LinuxPowerPC 및 macOS.

프로세서가 바뀌면 어셈블리 명령어 또한 바뀝니다. 예를 들면 다음과 같습니다.

  • 인텔의 "덧셈" 명령어는 AMD에서는 ADDITION이라고 불릴 수 있습니다.
  • 또는 PowerPC에서는 "수학 추가"라고 합니다.

운영체제가 바뀌면 OS 수준 호출의 수준과 특성도 바뀝니다.

개발자로서 소프트웨어의 활용도를 극대화하려면 모든 플랫폼에서 작동해야 합니다. 그러려면 각 플랫폼에 맞는 별도의 컴파일러를 구매하여 소프트웨어를 변환해야 합니다. printf 각 대상에 대한 명령어를 네이티브 머신 코드로 변환합니다.

멀티 플랫폼 컴파일러

컴파일러는 가격이 비싸고, 운영체제 간 호환성 문제가 발생할 위험이 항상 존재합니다. 운영체제와 프로세서 조합마다 별도의 컴파일러를 구매하고 설치하는 것은 현실적으로 불가능합니다. 그렇다면 대안은 무엇일까요? 바로 컴파일러입니다. Java 언어.

어떻게해야합니까? Java 가상 머신 작업?

을 사용해서 바이 Java 가상 기기이 문제는 해결할 수 있습니다. 하지만 서로 다른 프로세서와 운영 체제에서 어떻게 작동할까요? 단계별로 살펴보겠습니다.

방법 Java 가상 머신은 단계별로 작동합니다.

단계 1) 두 숫자의 덧셈 결과를 표시하는 코드 — System.out.println(1+2) —로 저장됩니다 .java 파일.

단계 2) 사용법 - Java 컴파일러(javac해당 코드는 중간 코드로 변환됩니다. 바이트 코드출력 결과는 다음과 같습니다. .수업 파일.

단계 3) 이 바이트코드는 물리적 플랫폼에서는 이해되지 않고, 가상 플랫폼이라는 곳에서만 이해됩니다. Java 가상 기기.

단계 4) JVM은 운영체제의 RAM에 상주합니다. JVM에 바이트코드가 입력되면, JVM은 실행 중인 플랫폼을 식별하고 해당 바이트코드를 네이티브 머신 코드로 즉시 변환합니다.

PC 작업을 하거나 웹 서핑을 하는 동안, 다음과 같은 화면이 나타날 때마다 Java-관련 아이콘이 보이면 JVM이 RAM에 로드되었음을 확신할 수 있습니다. 무엇이 이를 의미할까요? Java attrac컴파일된 코드는 모든 PC 플랫폼뿐만 아니라 모바일 및 기타 전자 기기에서도 실행될 수 있다는 것이 가장 큰 장점입니다. Java.

"Java "프로그래밍 언어인 동시에 플랫폼이기도 합니다."

어때 Java 플랫폼 독립적?

C 컴파일러와는 달리, Java 컴파일러는 특정 시스템에 대한 기본 실행 코드를 생성하지 않습니다. 대신에, Java 고유한 중간 형식을 생성합니다. 바이트 코드바이트코드는 JVM 사양에 명시된 규칙에 따라 실행되므로 이러한 현상이 발생합니다. Java 플랫폼 독립적인 언어입니다.

바이트코드는 모든 운영 체제에 설치된 모든 JVM이 이해할 수 있습니다. 간단히 말해서, Java 소스 코드는 재컴파일 없이 모든 최신 운영 체제에서 실행될 수 있으며, 이것이 바로 핵심입니다. Java"한 번 작성하고 어디서든 실행하세요"라는 약속.

자주 묻는 질문

JDK는 컴파일러와 개발 도구를 포함하는 개발 키트입니다. JRE는 JVM과 실행에 필요한 클래스 라이브러리를 포함하는 런타임 환경입니다. Java 프로그램. JVM은 JRE 내부에 있는 엔진으로, 런타임에 바이트코드를 네이티브 기계어로 변환합니다.

예. Java 기업 시스템에 있어 여전히 매우 중요한 의미를 지닙니다. Android 앱, 금융 플랫폼, 빅데이터 및 마이크로서비스. 최신 릴리스에는 다음과 같은 것들이 있습니다. Java 21 및 Java 25개의 LTS 버전에는 레코드 추가, 가상 스레드, 패턴 매칭 및 향상된 성능이 포함되어 있습니다. Java 경쟁.

초보자는 장기 지원(LTS) 버전을 설치해야 합니다. Java 2025년 9월에 출시된 SE 25는 최신 LTS 버전이며, 다음과 같은 기능을 제공합니다. Java 21 및 Java 버전 17은 여전히 ​​널리 사용되고 있습니다. LTS 버전은 공급업체로부터 확장된 보안 패치와 안정적인 지원을 받습니다.

AI는 다음과 함께 사용됩니다. Java 기업용 머신러닝, 사기 탐지, 추천 엔진 및 챗봇에 사용됩니다. DJL, Deeplearning4j, Tribuo와 같은 라이브러리는 딥러닝을 JVM에서 사용할 수 있도록 지원하며, AI 코딩 도우미는 코딩 속도를 향상시켜 줍니다. Java 리팩토링 및 단위 테스트 생성.

네. AI 코딩 도우미가 설명해 드립니다. Java 구문 분석, 연습 문제 생성, 오류 디버깅, 실시간 코드 검토 기능을 제공합니다. 초보자는 객체 지향 프로그래밍의 모범 사례, JVM 동작 방식, 기존 교재에서는 찾아보기 힘든 일반적인 오류 등을 보여주는 대화형 피드백을 통해 도움을 받을 수 있습니다.

이 게시물을 요약하면 다음과 같습니다.