이 다른 Java 버전은 무엇입니까?


63

Java 여행 을 시작하려고합니다 (이미 C ++로 덤벼 들었습니다). 다른 모든 버전의 Java에 대해 정말로 혼란스러워지고 있습니다.

  • 자바
  • 자바
  • JavaFX
  • 기타

누군가 이것을 자세히 설명 할 수 있습니까?

답변:


107

자바 적절한

Java Standard Edition 은 일반 컴퓨팅 용으로 설계된 "일반"버전입니다. Java의 다른 모든 변형과 마찬가지로 강력하고 정적으로 유형이 지정된 바이트 코드 컴파일 된 객체 지향 언어는 완전 자동 가비지 수집 기능이있는 가상 시스템에서 실행됩니다. 그것은 언어의 대부분의 기능을 가지고 있습니다. 응용 프로그램의 예로는 Minecraft 또는 ArgoUML과 같은 응용 프로그램이 있습니다. 독립형 데스크탑 응용 프로그램 또는 웹 페이지에 애플릿으로 포함 된 응용 프로그램으로 실행될 수 있습니다.

Java Enterprise Edition 은 다른 언어는 아니지만 Application Server 구현 내에서 실행되는 소프트웨어를 생성하도록 설계된 인터페이스 사양입니다. 여기서 가장 큰 차이점은 Enterprise Edition 인터페이스 사양을 준수하는 Application Server에 배포하도록 설계되었다는 것입니다. Java SE는 독립형 서버를 작성하는 데 사용할 수 있지만 Java EE와 같은 방식으로 구축 된 표준화 된 인터페이스 및 사양 목적은 포함되지 않습니다. Glassfish (Java EE 참조 구현), JBoss 등에서 실행되도록 설계된 응용 프로그램이 그 예입니다.

Java Micro Edition 은 모바일 장치에서 실행되도록 설계된 Java입니다. 이것은 Android와 동일 하지 않습니다 . Java ME는 Java SE보다 모바일 하드웨어를 더 잘 처리하도록 설계되었습니다. Pantec Ease를 휴대폰으로 사용하며 Java ME를 실행합니다.

Java 카드 는 심지어 스마트 ATM 카드와 같은 진정한 저가형 장치를 목표로하는 "더 작은"것입니다. 예, 그들 중 일부는 실제로 Java를 가지고 있습니다.

JavaFX 는 Rich Internet Client GUI 응용 프로그램을 빌드하도록 설계된 프레임 워크입니다.

JVM 언어 제품군

먼저 JVM 입니다. 이것은 컴파일 된 bytcode를 실행하는 스택 기반 가상 머신으로 어셈블리 언어와 매우 유사합니다. 최적화는 매우 특수한 상황에서 매우 빠르게 실행될 수 있습니다.

실제 Oracle Java Stuff, 이제 사람들이 JVM에서 일반적으로 사용하는 것들을위한 것입니다. 이러한 언어는 모두 Java 상호 운용 기능이 있으며 일반적으로 대부분 또는 모든 Java 라이브러리를 호출 할 수 있습니다.

Groovy 는 Java에 대한보다 쉽고 강력한 대안으로 청구되는보다 간결한 구문이 포함 된 객체 지향 동적 유형 언어입니다. Java에 대한 일종의 확장 언어로 설계되어 Java 파일을 Groovy 프로그램으로 끌어서 놓을 수 있습니다. 웹 개발을 위해 Grails 라고하는 프레임 워크가 있습니다.

스칼라 는 상당히 확장 가능하도록 디자인 된 (2003 년) 하이브리드 객체 지향 / 기능적 언어로, 그 이름입니다. 트위터는 스칼라를 많이 사용합니다.

Clojure 는 Lisp 제품군의 최신 (2007) 기능 언어입니다. 처음부터 대량의 동시 프로그래밍을 위해 설계되었습니다. 나는 이것에 대한 좋은 소프트웨어 예제는 없지만 그것을 사용하는 많은 회사가 있습니다.

자이 썬JRuby 는 각각 파이썬루비 의 자바 바이트 코드 버전 이다.

Jaskell ( JAS의 경우 Haskell) 과 같이 JVM에는 다른 언어가 많이 있지만 모호하거나 학문적 인 실험을하는 경향이 있습니다.

관련 물건

Android 는 Java를 사용하지만 Dalvik 레지스터 기반 시스템에서 실행됩니다. Dalvik은 현재 자사의 채택자인 Google 에 대한 소송 의 대상입니다 . Android는 기본적으로 다른 라이브러리 세트가있는 Java SE입니다.

NetbeansEclipse 는 Java IDE에 대해 주로 널리 논의되는 두 가지입니다. 하나와 다른 것에 대해 질문하는 것은 폐쇄를 불러 일으키며 프로그래밍 개념을 의미하지는 않습니다.

관련없는 물건

자바 스크립트자바 가 아니다. Java의 인기를 활용하기 위해 지명되었으며 그 이후로 혼란이 계속되었습니다.

방에있는 코뿔소

Rhino 는 Javascript 코드를 Java 코드로 바꾸어 Java 어딘가에서 실행할 수있는 Javascript 인터프리터입니다. "자체"라는 별도의 언어는 아니지만 다른 언어와 마찬가지로 고유 한 특성이 있습니다. Rhino는 C 기반 SpiderMonkey 인터프리터의 대안으로 Mozilla에 의해 개발되었습니다. Rhino는 일반적으로 Java 프로그램 내에 Javascript를 포함시키는 데 사용됩니다.

JDK 8을 위해 Oracle에서 개발 한 Nashorn (독일어 수준의 효율성으로)은 Java에 내장 된 Javascript의 새로운 표준으로 보입니다. 이는 Rhino가 더 이상 Java의 주요 구현에 사용되지 않음을 의미합니다. 현재 Rhino 프로젝트에서 이것이 의미하는 바는 확실하지 않습니다.


1
고마워요! 그것은 내가 찾던 것입니다 :) 하나 더 질문 : J2SE, J2EE 등 이것들은 SE, EE 등의 최신 버전입니까?
Patryk

8
예, J2EE 및 J2SE는 각각 Java Enterprise Edition 표준 버전의 두 가지 버전입니다. 이 명명 체계는 더 이상 따르지 않습니다. 현재 버전을 Java SE 6 (또는 5/7) 및 Java EE 5 (또는 6)라고합니다.
BenR

1
스마트 카드 용 Java가 있습니까? 마음이 흔들린다.
Megan Walker

1
그들 모두를 지배하는 하나의 답변!
사용자

1
JDK8부터 Rhino는 더 이상 사용되지 않습니다 (제거 되었습니까?). Nashorn은 새로운 Rhino입니다.
Silviu Burcea
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.