Nie znaleziono wyników

Twoje wyszukiwanie nie dało żadnych wyników.

Zalecamy wypróbowanie następujących rozwiązań, aby znaleźć to, czego szukasz:

  • Sprawdź pisownię wyszukiwania słowa kluczowego.
  • Użyj synonimów dla wpisanego słowa kluczowego, na przykład spróbuj wpisać „aplikacja” zamiast „oprogramowanie”.
  • Rozpocznij nowe wyszukiwanie.
Skontaktuj się z nami Zaloguj się do Oracle Cloud

GraalVM Enterprise

Usługa ta jest dostępna z subskrypcją Java SE bez żadnych dodatkowych kosztów i wspomaga rozwój nowoczesnych aplikacji Java, poprzez oparte na mikrousługach aplikacje dla natywnych wdrożeń w chmurze z większą wydajnością i oszczędnościami.

Czym jest GraalVM Enterprise?

Definicja GraalVM

GraalVM Enterprise to wysokowydajny zestaw JDK, który może przyspieszyć działanie aplikacji opartych na technologii Java i JVM za pomocą alternatywnego kompilatora JIT (just-in-time, „na czas”). Zmniejsza opóźnienia aplikacji, zwiększa przepustowość szczytową poprzez skracanie czasu usuwania pozostałości i posiada asystę techniczną 24/7 Oracle.

Istnieje również natywne narzędzie do tworzenia obrazów, które kompiluje kod bajtowy Java z wyprzedzeniem (AOT) i generuje natywne pliki wykonywalne dla niektórych aplikacji, które uruchamiają się niemal natychmiast i używają bardzo mało zasobów pamięci.

GraalVM (kompilator Graal, Truffle i Oracle Java Development Kit [JDK])

GraalVM zaistniał w 2011 roku jako projekt badawczy Oracle Labs w celu stworzenia platformy wykonawczej, która mogła z wysoką wydajnością uruchamiać różne języki programowania. Podstawą projektu GraalVM jest zaawansowana optymalizacja kompilatora GraalVM, który jest używany jako kompilator JIT dla Java Virtual Machine (JVM) lub przez natywną funkcję tworzenia obrazu GraalVM do kompilowania kodów bajtowych Java z wyprzedzeniem w natywnym kodzie maszynowym. Struktura implementacji języka Truffle w GraalVM współpracuje z kompilatorem GraalVM w celu uruchomienia kodu JavaScript, Python, Ruby i innych obsługiwanych języków w JVM z wyjątkową wydajnością.

JVM używająca GraalVM w trybie JIT korzysta z kompilatora GraalVM Enterprise JI do tworzenia kodu maszynowego specyficznego dla platformy z kodu bajtowego Java podczas działania aplikacji. Kompilacja jest wykonywana przyrostowo podczas wykonywania programu z dodatkową optymalizacją zastosowaną wobec często wykonywanego kodu. Takie podejście zapewnia, że kod w aktywnych punktach działa niezwykle szybko dzięki agresywnemu wstawianiu, częściowej analizie wskaźników i innych sposobach na zaawansowaną optymalizację. Niektóre optymalizacje zmniejszają alokacje obiektów, co zmniejsza obciążenie odzyskiwania pamięci. Pomaga to zwiększyć szczytową wydajność długo działających aplikacji.

Natywne narzędzie do tworzenia obrazów GraalVM może także skompilować kod bajtowy Java, generując z wyprzedzeniem (tj. w czasie kompilacji) natywne pliki wykonywalne maszyny. Te pliki wykonywalne uruchamiają się niemal natychmiast i zużywają jedynie ułamek pamięci wykorzystywanej przez tę samą aplikację Java działającą w JVM. Natywne pliki wykonywalne mają również małe rozmiary, ponieważ zawierają jedynie klasy, metody i zależne biblioteki wymagane przez aplikację.

GraalVM wspiera także wielojęzyczną interoperacyjność poprzez strukturę implementacji języka Truffle. Truffle umożliwia programom napisanym w obsługiwanych językach korzystanie z wielojęzycznych bibliotek. Przykładowo – program JavaScript może wywołać metody Ruby i udostępnić wartości bez tworzenia kopii. Truffle w środowisku JVM współdziała z kompilatorem GraalVM w celu skompilowania obsługiwanych języków w natywnym kodzie maszynowym, by zapewnić optymalną wydajność, tak jak Java.

Dowiedz się więcej o kompilatorze GraalVM, przeczytaj e-booka „GraalVM dla opornych”

GraalVM Enterprise

Kompilator GraalVM Enterprise Edition zawiera kilka dodatkowych algorytmów optymalizacji, które zapewniają znaczną poprawę wydajności i wykorzystania zasobów. Natywne funkcje obrazu GraalVM Enterprise Edition obsługują wiele zaawansowanych funkcji, takich jak odzyskiwanie pamięci G1, skompresowane wskaźniki i optymalizację sterowaną profilem, co pomaga kompilatorowi generować bardziej wydajny kod.

Usługa GraalVM Enterprise jest zawarta w subskrypcji Java SE bez żadnych dodatkowych kosztów. Obejmuje asystę techniczną 24/7 firmy Oracle, z dostępem do poprawek zabezpieczeń i aktualizacji krytycznych ścieżek, zapewniających bardziej przewidywalną wydajność i niezawodność. Dla migracji aplikacji Java do chmury usługa GraalVM Enterprise jest bezpłatna w użyciu w ramach Oracle Cloud Infrastructure (OCI).

Dlaczego warto używać GraalVM

GraalVM Enterprise pozwala programistom tworzyć wydajniejszy kod, zapewniający lepszą izolację i większą zwinność w środowiskach chmurowych lub hybrydowych. Oto kilka powodów, dla których coraz więcej firm używa GraalVM:

  • Szybkie przystosowanie się do zmieniającego się rynku. W dzisiejszych czasach aplikacje biznesowe muszą przetwarzać rosnące ilości danych i szybko reagować na żądania klientów. Aplikacje Java mogą się rozwijać tak, aby nadążać za tempem, pomagając programistom zwiększyć wydajność aplikacji przy jednoczesnym zmniejszaniu kosztów informatycznych.
  • Możliwość tworzenia nowoczesnych aplikacji Java, korzystających z mikrousług i kontenerów dla natywnych rozwiązań chmurowych. Mikrousługi to małe, niezależne miniaplikacje, które mają jedną funkcję. Aplikacje biznesowe zazwyczaj korzystają z setek usług, które muszą szybko się uruchamiać, by minimalizować opóźnienia i zmniejszać koszty korzystania z chmury. Innymi słowy, można płacić tylko za to, co jest używane.
  • Zwiększenie produktywności programistów dzięki stworzeniu ekosystemu, w którym różne języki programowania mogą współpracować w jednej maszynie JVM.

Przypadki użycia GraalVM Enterprise

Zwiększanie wydajności i rozszerzanie istniejących aplikacji Java

Innowacje GraalVM pomagają aplikacjom Java nadążać za współczesnymi wymaganiami obliczeniowymi, zapewniając szybszą wydajność i reakcję na potrzeby klientów. Zaawansowany optymalizator zwiększa przepustowość szczytową. Optymalizuje także zużycie pamięci, minimalizując alokacje obiektów, skracając czas poświęcany na odzyskiwanie pamięci. GraalVM Enterprise w trybie JIT może zwiększyć wydajność do 50%. Prowadzi to do szybszego zwalniania pamięci, umożliwiając wykonywanie innych zadań przetwarzania w tej samej infrastrukturze i zmniejszając koszty informatyczne.

Tworzenie natywnych aplikacji chmurowych

Natywne narzędzie do tworzenia obrazów wbudowane w GraalVM Enterprise kompiluje aplikacje Java z wyprzedzeniem do binarnych plików maszynowych. Natywne pliki wykonywalne uruchamiają się prawie 100 razy szybciej i zużywają do 5 razy mniej pamięci w porównaniu z uruchamianiem aplikacji w JVM.

Natywne GraalVM Enterprise
Ilustracja 1 – Natywne pliki wykonywalne uruchamiają się niemal natychmiast i zużywają bardzo mało pamięci w porównaniu z Go lub Java HotSpot.

GraalVM może przyczynić się do ograniczenia kosztów operacyjnych, biorąc pod uwagę przenoszenie zadań przetwarzania do chmury przez organizacje i płacenie według taryf godzinowych za wykorzystanie zasobów. Te wyniki sprawiają, że natywne pliki wykonywalne generowane przez GraalVM doskonale nadają się do wdrażania mikrousług, które są obsługiwane przez popularne struktury mikrousług, takie jak Helidon, Micronaut, Quarkus i Spring Boot.

Tworzenie wielojęzycznych programów i zwiększenie wydajności

W JVM można uruchamiać z doskonałą wydajnością aplikacje Java i inne języki, takie jak JavaScript. Oracle NetSuite SuiteScript to język rozszerzeń dla użytkowników końcowych, umożliwiający dostosowywanie aplikacji działających w NetSuite. GraalVM Enterprise pozwala NetSuite na osadzenie środowiska wykonawcze JavaScript opartego na Truffle, które może skompilować kod JavaScript do kodu maszynowego, działajacego 4 razy szybciej niż SuiteScript w środowisku JVM.

Jak poprawić wydajność i efektywność aplikacji

GraalVM Enterprise zawiera zaawansowany kompilator optymalizacji, który generuje kod maszynowy podczas uruchamiania programu w trybie JIT w celu przyspieszenia działania aplikacji Java. Kompilując z wyprzedzeniem obraz natywny uruchamia się szybko i zużywa mniej pamięci, co czyni go idealnym rozwiązaniem dla natywnych wdrożeń w chmurze. Obsługuje programy wielojęzyczne w celu zwiększenia produktywności, umożliwiając programistom korzystanie z najlepszych bibliotek niezbędnych do rozwiązywania problemów biznesowych – niezależnie od języka, w którym zostały napisane.