JavaRush /Blog Java /Random-PL /Oracle ogłosiło uniwersalną maszynę wirtualną GraalVM 1.0...

Oracle ogłosiło uniwersalną maszynę wirtualną GraalVM 1.0

Opublikowano w grupie Random-PL
Oracle ogłosiło nową maszynę wirtualną GraalVM 1.0. Jest uniwersalny, czyli nadaje się do uruchamiania aplikacji napisanych w wielu popularnych językach programowania. Są wśród nich JavaScript (Node.js), Python, Ruby, R, wszystkie języki JVM (Java, Scala, Clojure, Kotlin), a także języki, dla których można wygenerować kod bitowy LLVM (są to C, C++ i rdza). Kod GraalVM 1.0 jest rozpowszechniany na licencji GPLv2.
GraalVM 1.0
GraalVM 1.0 jest potrzebny do zwiększenia wydajności wykonywania kodu i zorganizowania interakcji pomiędzy kodem napisanym w różnych językach. Dzięki GraalVM otrzymujesz wspólne środowisko wykonawcze oraz możliwość dostępu do obiektów i tablic z innych języków. Na przykład możesz uzyskać dostęp do biblioteki klas Java z kodu JavaScript (Node.js) lub wywołać funkcje przetwarzania statystyk w Pythonie z kodu Java. Lub uruchom kod R, aby utworzyć złożoną grafikę SVG. Dzięki temu możesz wykorzystać w projekcie kilka języków, skupiając się nie na samym narzędziu, ale na zadaniu. GraalVM może być używany do tworzenia samodzielnych aplikacji wykonywalnych oraz jako część platform takich jak OpenJDK i Node.js. Co więcej, tę maszynę wirtualną można wbudować jako silnik przetwarzania danych w systemach DBMS, takich jak MySQL i Oracle.
GraalVM 1.0
Do uruchamiania aplikacji wykorzystywane jest ustandaryzowane środowisko oparte na HotSpot JVM. GraalVM zawiera kompilator JIT, który szybko wykonuje kod z dowolnego języka skryptowego w JVM, w tym JavaScript, Ruby, Python i R. Maszyna umożliwia także uruchamianie natywnego kodu w JVM, skonwertowanego na kod bitowy LLVM. Narzędzia systemu obejmują niezależny od języka debuger, system profilowania i analizator alokacji pamięci. Można tworzyć skompilowane obrazy natywne dla języków JVM. Są one wykonywane bezpośrednio przy minimalnym zużyciu pamięci: Po pierwsze, analiza statyczna identyfikuje cały kod umożliwiający wykonanie głównej metody Java. Następnie stosowana jest do niego pełnoprawna kompilacja z wyprzedzeniem (AOT).
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION