Java SE / EE / ME의 차이점은 무엇입니까?


326

Java 학습을 시작하려면 어느 것을 설치해야합니까? 몇 가지 기본 사항부터 시작하겠습니다. 따라서 파일, 디렉토리, XML 파일 등을 만드는 간단한 프로그램을 작성하여 지금은 너무 복잡하지 않습니다.

Java SE (Standard Edition)가 Windows 7 데스크톱에 설치해야한다고 생각합니다. Java 코드를 작성하는 데 사용할 Komodo IDE가 이미 있습니다.


6
Java SE 학습부터 시작해야합니다. Java EE는 처음에는 다소 어리둥절 할 수 있습니다. 준비가되면이 우수한 Java EE 7 개요 페이지 를보고 시작하십시오. 특히 Java EE 7 Oracle 자습서 는 시작하기에 좋은 장소입니다.
dexter meyers

답변:


545

자바 SE = 스탠다드 에디션 . 이것이 핵심 Java 프로그래밍 플랫폼입니다. 여기에는 Java 프로그래머가 알아야하는 모든 라이브러리와 API가 포함되어 있습니다 (java.lang, java.io, java.math, java.net, java.util 등).

자바 EE = 엔터프라이즈 에디션 . Wikipedia에서 :

Java 플랫폼 (Enterprise Edition)은 응용 프로그램 서버에서 실행되는 모듈 식 구성 요소를 기반으로 내결함성, 분산 된 다중 계층 Java 소프트웨어를 배포하는 기능을 제공하는 라이브러리를 추가한다는 점에서 Java SE (Java Standard Edition Platform)와 다릅니다. .

다시 말해, 응용 프로그램에 매우 큰 규모의 분산 시스템이 필요한 경우 Java EE 사용을 고려해야합니다. Java SE를 기반으로 구축 된이 솔루션은 데이터베이스 액세스 (JDBC, JPA), 원격 메소드 호출 (RMI), 메시징 ( JMS ), 웹 서비스, XML 처리를 위한 라이브러리를 제공 하고 Enterprise JavaBeans, 서블릿, 포틀릿, Java에 대한 표준 API를 정의합니다. 서버 페이지 등

자바 ME = 마이크로 에디션 . 모바일 장치 및 셋톱 박스와 같은 임베디드 시스템 용 응용 프로그램을 개발하기위한 플랫폼입니다. Java ME는 Java SE의 기능 중 일부를 제공하지만 모바일 장치 전용 라이브러리를 소개합니다. Java ME는 이전 버전의 Java SE를 기반으로하기 때문에 Java 1.5에 도입 된 일부 새로운 언어 기능 (예 : 일반)을 사용할 수 없습니다.

Java를 처음 사용하는 경우 Java SE로 시작하십시오.


157
이전에 Java를 코딩 한 적이없는 사람에게 IDE를 권장하는 데 동의하지 않습니다. CLASSPATH의 의미를 이해하는 데 도움이되도록 명령 행을 사용하여 몇 가지를 먼저 작성하십시오. Java를 이해하기 전에 Eclipse를 사용한다면 이것이 무지한 큰 두 가지입니다.
duffymo

47
@duffymo IMO 일반 텍스트 편집기로 코딩하면 새로운 언어를 배우는 데 아무런 이점이 없으므로 지능적이고 자동 완성 기능은 이미 다른 생태계를 알고있는 프로그래머에게 귀중한 도움이되기 때문에 IDE 권장 사항을 갖는 것이 좋습니다. 새로운 환경에 익숙합니다.
Felice Pollano

4
@duffymo Google이 여기로 데려왔을 때 5 년이 지난 지금도이 내용을 읽고 있으므로 토론을 시작하는 데 여전히 요점이 있습니다. 이 특정 사례에서 IDE에 대한 귀하의 주장에 동의합니다.
qutab

8
어렵고 시대를 초월한 문제를 논의하는 데 아무런 문제가 없습니다.
LegendLength

2
JDK 에디션 만 특정됩니까? 또는 JRE와 JVM이 SE & EE에 대해 다른가요?
Arun SR

68

API 측면에서 몇 가지 차이점이 있습니다.

Java SE에는 다음과 같은 API가 있습니다.

  • 애플릿
  • awt
  • rmi
  • jdbc
  • 그네
  • 컬렉션
  • xml 바인딩
  • JavaFX (Java SE 8에 병합)
  • 자바 8 컬렉션 스트리밍 API
  • Java 9 반응성 스트림 API
  • 자바 9 HTTP / 2 API

Java EE에는 다음과 같은 API가 포함되어 있습니다

  • 서블릿
  • 웹 소켓
  • 자바 얼굴
  • 의존성 주입
  • ejb
  • 고집
  • 트랜잭션
  • jms
  • 배치 API

Java ME에는 다음과 같은 API가 포함됩니다.

  • 무선 메시징
  • 자바 ME 웹 서비스
  • 보안 및 신뢰 서비스 API
  • 위치
  • 모바일 XML API

도움이 되었기를 바랍니다.


1
제시된 바와 같이, SE에 포함 된 것이 EE에 포함되어 있지 않다는 것을 의미합니까? 그리고 ME에 무엇이 EE에 있지 않습니까? 예를 들어, 무선 메시징을 원하는 경우 ME가 필요하며 EE에서 사용할 수없는 것 같습니다. 이 올바른지?
ejbytes

Java EE 버전 6부터 Collections API도 Java EE의 일부입니까?
Sriyank Siddhartha

52

Java SE는 Java EE가 구축되는 기초입니다.

Java ME는 모바일 장치 용 SE의 하위 집합입니다.

따라서 프로젝트에 Java SE를 설치해야합니다.


36

오라클의 문서 에 따르면 실제로 4 가지 Java 플랫폼이 있습니다.

  • Java 플랫폼, Standard Edition (Java SE)
  • Java 플랫폼, Enterprise Edition (Java EE)
  • 자바 플랫폼, 마이크로 에디션 (Java ME)
  • JavaFX

Java SE 는 데스크탑 응용 프로그램 개발을위한 것이며 Java 언어로 개발하기위한 기초입니다. 개발 도구, 배포 기술 및 Java 응용 프로그램에 사용되는 기타 클래스 라이브러리 및 툴킷으로 구성됩니다. Java EE 는 Java SE를 기반으로하며 웹 응용 프로그램 및 대규모 엔터프라이즈 응용 프로그램을 개발하는 데 사용됩니다. Java ME 는 Java SE의 하위 집합입니다. 소형 디바이스에서 Java 애플리케이션을 실행하기위한 API 및 풋 프린트 가상 머신을 제공합니다. JavaFX 는 간단한 사용자 인터페이스 API를 사용하여 풍부한 인터넷 응용 프로그램을 만드는 플랫폼입니다. 최근 Java 플랫폼 제품군에 추가되었습니다.

엄밀히 말해이 플랫폼은 사양입니다. 그것들은 소프트웨어가 아니라 규범입니다. JDK (Java Platform, Standard Edition Development Kit)는 Oracle에서 제공하는 Java SE 사양 의 공식 구현 입니다. OpenJDK 및 IBM의 J9와 같은 다른 구현도 있습니다.

Java를 처음 사용하는 사람들은 플랫폼 및 운영 체제 용 JDK를 다운로드합니다 (Oracle의 JDK는 여기 에서 다운로드 할 수 있습니다) .


1
Java 6의 경우도 마찬가지입니다. Java 7 설명서에는 3 개의 플랫폼이 있으며 JavaFX는 Java SE의 일부라고 말합니다.
Javatar

Java SE는 데스크탑 응용 프로그램 개발 용입니다. Java EE는 웹 응용 프로그램 및 대규모 엔터프라이즈 응용 프로그램 개발에 사용됩니다.
AyukNayr

20

이 질문을 접했을 때 오라클 튜토리얼 에 제공된 정보가 매우 완전하고 공유 할 가치가 있음을 발견했습니다 .

자바 프로그래밍 언어 플랫폼

Java 프로그래밍 언어에는 네 가지 플랫폼이 있습니다.

  • Java 플랫폼, Standard Edition (Java SE)

  • Java 플랫폼, Enterprise Edition (Java EE)

  • 자바 플랫폼, 마이크로 에디션 (Java ME)

  • JavaFX

모든 Java 플랫폼은 JVM (Java Virtual Machine) 및 API (Application Programming Interface)로 구성됩니다. Java Virtual Machine은 특정 하드웨어 및 소프트웨어 플랫폼을위한 프로그램으로 Java 기술 응용 프로그램을 실행합니다. API는 다른 소프트웨어 구성 요소 또는 응용 프로그램을 만드는 데 사용할 수있는 소프트웨어 구성 요소 모음입니다. 각 Java 플랫폼은 가상 머신과 API를 제공하며, 이는 플랫폼 독립형, 성능, 안정성, 개발 용이성 및 Java 프로그래밍 언어의 모든 장점을 가지고 해당 플랫폼 용으로 작성된 애플리케이션이 호환 가능한 시스템에서 실행될 수 있도록합니다. 보안.

자바 SE

대부분의 사람들은 Java 프로그래밍 언어를 생각할 때 Java SE API를 생각합니다. Java SE의 API는 Java 프로그래밍 언어의 핵심 기능을 제공합니다. Java 프로그래밍 언어의 기본 유형 및 오브젝트부터 네트워킹, 보안, 데이터베이스 액세스, GUI (그래픽 사용자 인터페이스) 개발 및 XML 구문 분석에 사용되는 고급 클래스에 이르기까지 모든 것을 정의합니다.

Java SE 플랫폼은 핵심 API 외에도 가상 시스템, 개발 도구, 배포 기술 및 Java 기술 응용 프로그램에 일반적으로 사용되는 기타 클래스 라이브러리 및 툴킷으로 구성됩니다.

자바 EE

Java EE 플랫폼은 Java SE 플랫폼 위에 구축됩니다. Java EE 플랫폼은 대규모의 다 계층 확장 가능하고 안정적이며 안전한 네트워크 응용 프로그램을 개발하고 실행할 수있는 API 및 런타임 환경을 제공합니다.

자바 ME

Java ME 플랫폼은 휴대 전화와 같은 소형 장치에서 Java 프로그래밍 언어 응용 프로그램을 실행할 수있는 API 및 풋 프린트 가상 머신을 제공합니다. API는 소규모 장치 응용 프로그램 개발에 유용한 특수 클래스 라이브러리와 함께 Java SE API의 하위 집합입니다. Java ME 응용 프로그램은 종종 Java EE 플랫폼 서비스의 클라이언트입니다.

JavaFX

JavaFX는 간단한 사용자 인터페이스 API를 사용하여 풍부한 인터넷 응용 프로그램을 만드는 플랫폼입니다. JavaFX 응용 프로그램은 하드웨어 가속 그래픽 및 미디어 엔진을 사용하여 고성능 클라이언트와 최신 모양과 느낌은 물론 네트워크 데이터 소스에 연결하기위한 고급 API를 활용합니다. JavaFX 응용 프로그램은 Java EE 플랫폼 서비스의 클라이언트 일 수 있습니다.


1
오라클 사이트에서 복사 :)
Irfan Nasim

1
@IrfanNasim Oracle에서 복사 한 것을 알고 있으며 언급했습니다 !! 정상에서 답을 읽었습니까?! 링크를 제공 할 때 링크가 최신 상태가 아니거나 작동하지 않으면 링크에있는 내용을 계속 읽을 수 있으므로 중요한 정보도 복사해야한다는 것을 알고 있습니까? 당신이 198 명의 담당자를 가지고 있고 아직도 규칙을 모른다는 것은 이상하다!!
Tarik

13

Java SE (Standard Edition)가 Windows 7 데스크탑에 설치해야하는 것 같습니다.

물론 입니다. Java SE가 가장 좋습니다. BTW는 Java 기초를 배워야합니다. 즉, Java SE에서 일부 라이브러리 및 API를 학습해야합니다.

Java 플랫폼 판의 차이점 :

Java ME (Java Micro Edition) :

  • 고도로 최적화 된 런타임 환경.
  • 소비자 제품 ( 호출기 , 휴대폰)을 대상으로합니다.
  • Java ME는 이전에는 Java 2 Platform, Micro Edition 또는 J2ME로 알려져있었습니다.

Java SE (Java Standard Edition) :

애플릿 및 응용 프로그램을 작성, 배포 및 실행하는 개발자를위한 Java 도구, 런타임 및 API Java SE는 이전에는 Java 2 Platform, Standard Edition 또는 J2SE로 알려져있었습니다. (이것부터 시작하는 모든 사람 / 초보자)

자바 엔터프라이즈 에디션 (Java EE) :

엔터프라이즈 급 서버 측 응용 프로그램을 대상으로 합니다. Java EE는 이전에는 Java 2 Platform, Enterprise Edition 또는 J2EE로 알려져있었습니다.

이 질문에 대한 또 다른 중복 질문입니다.


마지막으로 J .. 혼란 에 대해

JVM (Java Virtual Machine) :

JVM은 Java 바이트 코드를 변환하여 클라이언트 시스템에서 원시 코드로 실행하는 JDK 및 JRE의 일부입니다.

JRE (Java Runtime Environment) :

Java 프로그램이 실행되도록 제공된 환경입니다. JVM, 클래스 라이브러리 및 기타 지원 파일 이 포함되어 있습니다. 그것은 포함하지 않는 등의 컴파일러, 디버거 등 등 모든 개발 도구를.

JDK (Java Development Kit) :

JDK에는 Java 프로그램 (javac, java, javadoc, appletviewer, jdb, javap, rmic 등)을 개발하는 데 필요한 도구와 프로그램을 실행하는 JRE가 포함되어 있습니다.

Java SDK (Java 소프트웨어 개발 키트) :

SDK는 JDK와 응용 프로그램 서버, 디버거 및 설명서와 같은 추가 소프트웨어로 구성됩니다.

자바 SE :

Java SE (Java Platform, Standard Edition)를 사용하면 데스크탑 및 서버 (SDK와 동일)에서 Java 응용 프로그램을 개발하고 배포 할 수 있습니다.

J2SE, J2ME, J2EE

1.2에서 1.5 사이의 모든 Java 에디션

다음 주제에 대해 자세히 알아보십시오.


11

예, Java SE가 시작될 곳입니다. 언급 한 모든 작업을 처리 할 수 ​​있습니다.

Java ME는 Mobile Edition이고 EE는 Enterprise Edition입니다. 이들은 Standard Edition의 특수 / 확장 버전입니다.


7

예, Java SE로 시작해야합니다. Java EE는 웹 응용 프로그램 용이고 Java ME는 모바일 응용 프로그램 용입니다.


6

Java SE (Standard Edition)는 데스크탑 앱을 빌드하기위한 것입니다.

Java ME (Micro Edition)는 구형 모바일 장치 용입니다.

Java EE (Enterprise Edition)는 웹 기반 응용 프로그램 개발을위한 것입니다.


2

내가 당신이라면 Java SE SDK를 설치할 것입니다. 설치되면 JAVA_HOME 환경 변수가 설정되어 있는지 확인하고 경로에 % JAVA_HOME % \ bin dir을 추가하십시오.


1

개발자는 서로 다른 버전의 Java 플랫폼을 사용하여 데스크탑 컴퓨터, 웹 브라우저, 웹 서버, 모바일 정보 장치 (예 : 피처 폰) 및 임베디드 장치 (예 : 텔레비전 셋톱 박스)에서 실행되는 Java 프로그램을 만듭니다.

Java SE (Java Platform, Standard Edition) : 데스크탑에서 실행되는 독립형 프로그램 인 응용 프로그램 개발을위한 Java 플랫폼. Java SE는 웹 브라우저에서 실행되는 프로그램 인 애플릿 개발에도 사용됩니다.

Java EE (Java Platform, Enterprise Edition) : Java EE의 서블릿 API를 준수하는 서버 프로그램 인 엔터프라이즈 지향 응용 프로그램 및 서블릿을 개발하기위한 Java 플랫폼. Java EE는 Java SE 위에 구축됩니다.

Java ME (Java Platform, Micro Edition) : 모바일 정보 장치에서 실행되는 프로그램 인 MIDlet 및 임베디드 장치에서 실행되는 프로그램 인 Xlet을 개발하기위한 Java 플랫폼입니다.


0

SE (JDK)에는 Java로 치아를 자르는 데 필요한 모든 라이브러리가 있습니다. Netbeans IDE는 Oracle의 SE (JDK)와 함께 제공되므로 Netbeans IDE를 사용하는 것이 좋습니다. 특히 명령 행을 시도 할 경우 "path"및 "classpath"변수를 설정하는 것을 잊지 마십시오. 64 비트 시스템에서는 "시스템 경로"를 입력하십시오 (예 : C : \ Windows \ system32 앞에 C : \ Program Files (x86) \ Java \ jdk1.7.0 변수). 시스템을 JDK로 전달합니다.

도움이 되었기를 바랍니다.


0

Java SE는 데스크탑 응용 프로그램 및 간단한 핵심 기능에 사용됩니다. Java EE는 데스크탑뿐만 아니라 웹 개발, 네트워킹 및 고급 기능에도 사용됩니다.


0

EE :-Enterprise Edition :-이 Java 에디션은 보안, 트랜잭션 관리 등에 중점을두고 여러 서버를 처리해야하는 엔터프라이즈 애플리케이션 / 비즈니스를 위해 특별히 설계되었습니다.

SE :-Standard Edition :-이 버전은 표준 응용 프로그램을위한 것입니다.

ME :-Micro Edition :-이 Java 에디션은 휴대폰 플랫폼 용으로 특별히 설계되었습니다. 모바일에서 메모리 자원이 제한되어 있기 때문에 메모리 관리가 더 중요합니다.

따라서 기본적으로 JAVA에는 요구 사항에 따라 다른 버전이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.