수색…


Java SE JRE 또는 Java SE JDK 배포판의 차이점

Java SE의 Sun / Oracle 릴리스에는 JRE와 JDK의 두 가지 형식이 있습니다. 간단히 말해, JRE는 실행중인 Java 응용 프로그램을 지원하고 JDK는 Java 개발도 지원합니다.

자바 런타임 환경

Java Runtime Environment 또는 JRE 배포판은 Java 응용 프로그램을 실행하고 관리하는 데 필요한 일련의 라이브러리 및 도구로 구성됩니다. 일반적인 현대 JRE의 도구는 다음과 같습니다.

  • JVM (Java Virtual Machine)에서 Java 프로그램을 실행하기위한 java 명령
  • Nashorn Javascript 엔진을 실행하기위한 jjs 명령.
  • Java 키 스토어를 조작하기위한 keytool 커멘드입니다.
  • 보안 샌드 박스 보안 정책을 편집하기위한 policytool 명령입니다.
  • 웹 전개를위한 "pack200"파일의 패킹 및 언팩을위한 pack200unpack200 도구.
  • Java CORBA 및 RMI 응용 프로그램을 지원하는 orbd , rmid , rmiregistrytnameserv 명령

"데스크탑 JRE"설치 프로그램에는 일부 웹 브라우저에 적합한 Java 플러그인이 포함되어 있습니다. 이것은 의도적으로 "Server JRE"설치 프로그램에서 제외되었습니다 .linux syscall read benchmarku

Java 7 update 6부터 JRE 설치 프로그램에는 JavaFX (버전 2.2 이상)가 포함되어 있습니다.

자바 개발 킷

Java Development Kit 또는 JDK 배포판에는 JRE 도구와 Java 소프트웨어 개발을위한 추가 도구가 포함되어 있습니다. 추가 도구는 일반적으로 다음과 같습니다.

  • Java 소스 코드 ( ".java")를 바이트 코드 파일 ( ".class")으로 컴파일하는 javac 명령입니다.
  • jarjarsigner 와 같은 JAR 파일을 작성하기위한 도구
  • 개발 도구 :
    • appletviewer 을 실행하기위한 애플릿 appletviewer
    • idlj CORBA IDL to Java 컴파일러
    • javah JNI 스텁 제네레이터
    • Java 소스 코드의 문자 집합 변환을위한 native2ascii
    • schemagen Java에서 XML 스키마 생성기 (JAXB의 일부)
    • serialver 는 Java Object Serialization 버전 문자열을 생성합니다.
    • JAX-WS 용 wsgenwsimport 지원 도구
  • 진단 도구 :
    • jdb 기본 자바 디버거
    • jmapjhat 을 사용하여 Java 힙을 덤프 및 분석합니다.
    • 스레드 스택 덤프를 가져 오는 jstack .
    • ".class"파일을 검사하기위한 javap .
  • 응용 프로그램 관리 및 모니터링 도구 :
    • jconsole 관리 콘솔,
    • 응용 프로그램 모니터링을위한 jstat , jstatd , jinfojps

일반적인 Sun / Oracle JDK 설치에는 Java 라이브러리의 소스 코드가 포함 된 ZIP 파일도 포함되어 있습니다. Java 6 이전에는 공개적으로 사용 가능한 유일한 Java 소스 코드였습니다.

Java 6 이후부터는 OpenJDK의 완전한 소스 코드를 OpenJDK 사이트에서 다운로드 할 수 있습니다. 일반적으로 (Linux) JDK 패키지에는 포함되어 있지 않지만 별도의 패키지로 제공됩니다.

Oracle 핫스팟과 OpenJDK의 차이점은 무엇입니까?

JRE와 JDK의 이분법과 직결되는 두 가지 유형의 Java 릴리스가 널리 사용 가능합니다.

  • Oracle 핫스팟 릴리스는 Oracle 다운로드 사이트에서 다운로드 한 것입니다.
  • OpenJDK 릴리즈는 OpenJDK 소스 저장소에서 (일반적으로 타사 공급자에 의해) 빌드됩니다.

기능면에서 핫스팟 릴리스와 OpenJDK 릴리스 간에는 약간의 차이점이 있습니다. 핫스팟에는 오라클 (유료) 자바 고객이 사용할 수있는 몇 가지 추가 "엔터프라이즈"기능이 있지만 핫스팟과 OpenJDK 모두 동일한 기술이 존재합니다.

OpenJDK에 비해 Hotspot의 또 다른 장점은 Hotspot을위한 패치 릴리스가 좀 더 빨리 사용 가능하다는 것입니다. 이것은 또한 OpenJDK 제공 업체가 얼마나 기민한가에 달려 있습니다. 예를 들어, 리눅스 배포판 팀이 새로운 OpenJDK 빌드를 준비하고 QA를 작성하는 데 걸리는 시간을 공개 리포지토리에 가져 오는 경우.

플립 사이드 (fipside)는 대부분의 Linux 배포판에 대한 패키지 저장소에서 핫스팟 릴리스를 사용할 수 없다는 것입니다. 즉, 핫스팟을 사용하는 경우 일반적으로 Linux 컴퓨터에서 Java 소프트웨어를 최신 상태로 유지하는 것이 더 효과적입니다.

Java EE, Java SE, Java ME 및 JavaFX의 차이점

Java 기술은 프로그래밍 언어이자 플랫폼입니다. Java 프로그래밍 언어는 특정 구문과 스타일을 가진 상위 수준의 객체 지향 언어입니다. Java 플랫폼은 Java 프로그래밍 언어 응용 프로그램이 실행되는 특정 환경입니다.

여러 Java 플랫폼이 있습니다. 많은 개발자, 심지어 오랫동안 Java 프로그래밍 언어 개발자도 서로 다른 플랫폼이 서로 어떻게 관련되어 있는지 이해하지 못합니다.

Java 프로그래밍 언어 플랫폼

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

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

  • 자바 플랫폼, 엔터프라이즈 에디션 (Java EE)

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

  • Java FX

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

Java SE

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

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

Java EE

Java EE 플랫폼은 Java SE 플랫폼 위에 구축됩니다. Java EE 플랫폼은 대규모의 다 계층, 확장 성, 안정성 및 보안 네트워크 애플리케이션을 개발 및 실행하기위한 API 및 런타임 환경을 제공합니다.

Java ME

Java ME 플랫폼은 휴대 전화와 같은 소형 장치에서 Java 프로그래밍 언어 응용 프로그램을 실행하기위한 API 및 작은 설치 공간 가상 시스템을 제공합니다. API는 Java SE API의 서브 세트이며 소형 장치 응용 프로그램 개발에 유용한 특수 클래스 라이브러리입니다. Java ME 응용 프로그램은 종종 Java EE 플랫폼 서비스의 클라이언트입니다.

Java FX

Java FX 기술은 Java FX ScriptTM로 작성된 풍부한 인터넷 응용 프로그램을 작성하기위한 플랫폼입니다. Java FX Script는 Java 기술 바이트 코드로 컴파일 된 정적 형식의 선언적 언어로, Java VM에서 실행할 수 있습니다. Java FX 플랫폼 용으로 작성된 응용 프로그램은 Java 프로그래밍 언어 클래스를 포함하고 링크 할 수 있으며 Java EE 플랫폼 서비스의 클라이언트 일 수 있습니다.


Java SE 버젼

Java SE 버전 히스토리

다음 표는 Java SE 플랫폼의 주요 주요 버전에 대한 타임 라인을 제공합니다.

Java SE 버전 1 코드 네임 수명 종료 (무료 2 ) 출시일
Java SE 9 (Early Access) 없음 미래 2017-07-27 (추정)
Java SE 8 없음 미래 2014-03-18
Java SE 7 돌고래 2015-04-14 2011 년 7 월 28 일
Java SE 6 머스탱 2013-04-16 2006-12-23
Java SE 5 호랑이 2009-11-04 2004-10-04
Java SE 1.4.2 사마귀 2009-11-04 이전 2003-06-26
Java SE 1.4.1 호퍼 / 메뚜기 2009-11-04 이전 2002-09-16
Java SE 1.4 멀린 2009-11-04 이전 2002-02-06
Java SE 1.3.1 무당 벌레 2009-11-04 이전 2001-05-17
Java SE 1.3 황조롱이 2009-11-04 이전 2000-05-08
Java SE 1.2 운동장 2009-11-04 이전 1998-12-08
Java SE 1.1 빛나는 것 2009-11-04 이전 1997-02-19
Java SE 1.0 참나무 2009-11-04 이전 1996-01-21

각주 :

  1. 이 링크는 오라클의 웹 사이트에있는 각 릴리스 문서의 온라인 사본입니다. 더 이상 이전 버전의 많은 설명서를 온라인으로 제공하지 않지만 일반적으로 Oracle Java Archives에서 다운로드 할 수 있습니다.

  2. 자바 SE의 역사적인 버전은 공식적인 "end of life"날짜를 통과했습니다. Java 버전이 이정표를 통과하면 Oracle은 무료 업데이트를 중단합니다. 지원 계약을 맺은 고객은 계속 업데이트를 사용할 수 있습니다.

출처:

Java SE 버젼의 하이라이트

Java SE 버전 하이라이트
Java SE 8 람다 식과 MapReduce에서 영감을 얻은 스트림. Nashorn Javascript 엔진. 유형 및 반복 주석에 대한 주석. 부호없는 산술 확장. 새로운 날짜 및 시간 API. 정적으로 링크 된 JNI 라이브러리 JavaFX 실행기. PermGen의 제거.
Java SE 7 문자열 스위치, try-with-resource , 다이아몬드 ( <> ), 숫자 리터럴 향상 및 예외 처리 / 재 제기 개선. 동시성 라이브러리 향상. 원시 파일 시스템에 대한 향상된 지원. 팀 소트. ECC 암호화 알고리즘. 향상된 2D 그래픽 (GPU) 지원. 추가 가능 주석.
Java SE 6 JVM 플랫폼 및 스윙에 대한 중요한 성능 향상. 스크립팅 언어 API 및 모질라 Rhino 자바 스크립트 엔진. JDBC 4.0. 컴파일러 API. JAXB 2.0. 웹 서비스 지원 (JAX-WS)
Java SE 5 제네릭, 주석, 자동 복싱, enum 클래스, varargs, 향상된 for 루프 및 정적 가져 오기 Java 메모리 모델의 사양. 스윙 및 RMI 기능 향상. java.util.concurrent.* 패키지 및 Scanner .
Java SE 1.4 assert 키워드. 정규 표현식 클래스. 예외 연결. NIO API - 논 블로킹 I / O, BufferChannel . java.util.logging.* API. 이미지 I / O API. 통합 XML 및 XSLT (JAXP). 통합 보안 및 암호화 (JCE, JSSE, JAAS) 통합 Java Web Start. 환경 설정 API.
Java SE 1.3 HotSpot JVM이 포함되었습니다. CORBA / RMI 통합. JNDI (Java Naming and Directory Interface). 디버거 프레임 워크 (JPDA). JavaSound API. 프록시 API.
Java SE 1.2 strictfp 키워드. 스윙 API. 자바 플러그인 (웹 브라우저 용). CORBA 상호 운용성. 컬렉션 프레임 워크.
Java SE 1.1 내부 수업. 반사. JDBC. RMI. 유니 코드 / 문자 스트림. 국제화 지원. AWT 이벤트 모델의 오버홀. JavaBeans.

출처:



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow