GraalVM은 Java 애플리케이션을 미리 독립 실행형 바이너리로 컴파일하는 고성능 JDK 배포판입니다. 이러한 바이너리는 즉시 시작되고, 준비 없이 최고의 성능을 제공하며, 더 적은 리소스를 사용합니다. IDE에서 다른 Java 개발 키트와 마찬가지로 GraalVM을 사용할 수 있습니다.
https://www.graalvm.org/의 프로젝트 웹사이트에서는 시작하는 방법, 연결을 유지하는 방법 및 기여하는 방법을 설명합니다.
설명서는 GraalVM 웹사이트를 참조하세요. 웹사이트에 표시된 것과 동일한 계층 구조의 docs/ 디렉터리에서 대부분의 문서 소스를 찾을 수 있습니다. 개별 구성 요소에 대한 개발자 지침을 포함한 추가 문서는 해당 문서/ 하위 디렉터리에서 찾을 수 있습니다. 예를 들어 Truffle 프레임워크에 대한 문서는 truffle/docs/ 에 있습니다. 이는 관련 리포지토리에서 유지 관리되는 언어, 도구 및 기타 구성 요소에도 적용됩니다.
이 소스 저장소는 GraalVM의 기본 저장소이며 다음 구성 요소를 포함합니다.
예배 규칙서 | 설명 |
---|---|
.devcontainer/ | GitHub 개발 컨테이너용 구성 파일입니다. |
.github/ | GitHub 문제, 워크플로 등에 대한 구성 파일. |
compiler/ | Graal 컴파일러는 Java로 작성된 현대적이고 다재다능한 컴파일러입니다. |
espresso/ | GraalVM용 메타 순환 Java 바이트코드 인터프리터인 Espresso. |
regex/ | 다른 GraalVM 언어용 정규식 엔진인 TRegex입니다. |
sdk/ | GraalVM SDK, GraalVM의 장기 지원 API입니다. |
substratevm/ | 네이티브 이미지를 사용한 AOT(Ahead-of-Time) 컴파일을 위한 프레임워크입니다. |
sulong/ | GraalVM에서 LLVM 비트코드를 실행하기 위한 엔진인 Sulong. |
tools/ | 계측 프레임워크로 구현된 GraalVM 언어용 도구입니다. |
truffle/ | 언어 및 도구 생성을 위한 GraalVM의 언어 구현 프레임워크입니다. |
visualizer/ | IGV(Ideal Graph Visualizer)는 Graal 컴파일러 그래프를 분석하기 위한 도구입니다. |
vm/ | GraalVM 배포판을 구축하기 위한 구성 요소입니다. |
wasm/ | GraalVM에서 WebAssembly 프로그램을 실행하기 위한 엔진인 GraalWasm. |
GraalVM은 관련 리포지토리에서 개발된 추가 언어, 도구 및 기타 구성 요소를 제공합니다. 이것들은 다음과 같습니다:
이름 | 설명 |
---|---|
FastR | R 언어의 구현. |
GraalJS | JavaScript 및 Node.js 구현. |
그랄파이 | Python 언어의 구현. |
GraalVM 데모 | GraalVM 기능을 보여주는 몇 가지 예제 애플리케이션입니다. |
네이티브 빌드 도구 | GraalVM 네이티브 이미지용 도구 플러그인을 빌드합니다. |
SimpleLanguage | Truffle 프레임워크로 구축된 간단한 예제 언어입니다. |
SimpleTool | Truffle 프레임워크로 구축된 간단한 예제 도구입니다. |
트러플루비 | Ruby 언어 구현. |
GraalVM Community Edition은 오픈 소스이며 Java와 동일한 용어인 "Classpath" 예외가 포함된 GNU General Public License 버전 2에 따라 배포됩니다. 개별 GraalVM 구성 요소의 라이선스는 일반적으로 특정 언어의 라이선스에서 파생됩니다(아래 표 참조).
구성요소 | 특허 |
---|---|
에스프레소, 이상적인 그래프 시각화 도구 | GPL 2 |
GraalVM 컴파일러, SubstrateVM, 도구, VM | 클래스 경로 예외가 있는 GPL 2 |
GraalVM SDK, GraalWasm, 트러플 프레임워크, TRegex | 범용 허용 라이선스 |
술롱 | 3절 BSD |