GraalVM Enterprise, alternatif bir tam zamanında (JIT) derleyici kullanarak Java ve JVM tabanlı uygulama yazılımlarının performansını hızlandırabilen yüksek performanslı bir JDK'dir. Uygulama yazılımı gecikme süresini azaltır, gereksiz veri temizleme süresini azaltarak doruk noktası verimini artırır ve 7/24 Oracle desteği ile birlikte gsunulur.
Ayrıca Java bayt kodunu önceden (AOT) derleyen ve neredeyse anında başlayan ve çok az bellek kaynağı kullanan bazı uygulama yazılımları için yerel yürütülebilir dosyalar oluşturan yerel bir görüntü hizmet programı da vardır.
GraalVM, 2011 yılında Oracle Labs'de birden fazla programlama dilini yüksek performansla çalıştırabilen bir çalışma zamanı platformu oluşturmak için bir araştırma projesi olarak başlamıştır. GraalVM projesinin özü, Java Sanal Makinesi (JVM) için tam zamanında (JIT) derleyici olarak veya Java bayt kodlarını zamanından önce yerel makine koduna derlemek üzere GraalVM yerel görüntü özelliği tarafından kullanılan gelişmiş optimize GraalVM derleyicisidir. GraalVM'nin Truffle dili uygulama çerçevesi, JavaScript, Python, Ruby ve diğer desteklenen dilleri JVM'de olağanüstü performansla çalıştırmak için GraalVM derleyicisiyle birlikte çalışır.
GraalVM'yi JIT modunda kullanırken, JVM, uygulama yazılımı çalışırken Java bayt kodundan platforma özel makine kodu oluşturmak için GraalVM Enterprise JI derleyicisini kullanır. Derleme, program yürütme sırasında, sıklıkla yürütülen koda fazladan optimizasyon uygulanarak artımlı olarak gerçekleştirilir. Bu yaklaşım, agresif hatta alma, kısmi kod çıkışı analizi ve diğer gelişmiş optimizasyonlar sayesinde etkin noktalarda kodun son derece hızlı çalışmasını sağlar. Bazı optimizasyonlar, gereksiz veri toplayıcısındaki yükü azaltan nesne tahsislerini azaltır. Bu, uzun süreli çalıştırılan uygulama yazılımlarının doruk noktası performansını artırmaya yardımcı olur.
GraalVM yerel görüntü hizmet programı, yerel makine yürütülebilir dosyalarını zamanından önce (yani oluşturma zamanında) oluşturmak için Java bayt kodunu da derleyebilir. Bu yürütülebilir dosyalar neredeyse anında başlar ve JVM'de çalışan aynı Java uygulama yazılımı tarafından kullanılacak olan belleğin bir kısmını tüketir. Yerel yürütülebilir dosyalar, yalnızca uygulama yazılımının gerektirdiği sınıfları, yöntemleri ve bağımlı kitaplıkları içerdiklerinden kompakttır.
GraalVM, Truffle dili uygulama çerçevesi aracılığıyla çok dilli birlikte işlerliği de destekler. Truffle, desteklenen dillerde yazılmış programların çok dilli kitaplıkları kullanmasını sağlar. Örneğin, bir JavaScript programı Ruby yöntemlerini çağırabilir ve kopya oluşturmadan değerleri paylaşabilir. Truffle, JVM üzerinde çalışırken, tıpkı Java gibi, optimum performans için desteklenen dilleri yerel makine koduna derlemek için GraalVM derleyicisi ile iş birliği yapar.
GraalVM derleyici hakkında daha fazla bilgi edinin, Yeni Başlayanlar için GraalVM e-kitabını okuyun
GraalVM Enterprise Sürümü derleyicisi, performans ve kaynak tüketiminde önemli iyileştirmeler sağlayan birkaç ek optimizasyon algoritması içerir. GraalVM Enterprise Sürümü'nün yerel görüntü özellikleri, G1 gereksiz veri toplayıcı, sıkıştırılmış göstergeler ve derleyicinin daha verimli kod oluşturmasına yardımcı olan profil kılavuzlu optimizasyon gibi bir dizi gelişmiş özelliği destekler.
GraalVM Enterprise Sürümü, ek ücret ödemeden Java SE Aboneliğine dahildir. Daha öngörülebilir performans ve güvenilirlik için güvenlik düzeltmelerine ve kritik yol güncellemelerine erişim ile 7/24 Oracle desteği içerir. Buluta Java geçişi için GraalVM Enterprise, Oracle Bulut Altyapısı (OCI) üzerinde ücretsiz olarak kullanılabilir.
GraalVM Enterprise, geliştiricilerin bulut veya hibrit ortamlar için daha iyi yalıtım ve daha fazla çeviklik ile daha verimli kod oluşturmasını sağlayabilir. Günümüzde giderek daha fazla işletmenin GraalVM kullanmasının nedenlerinden bazıları şunlardır:
GraalVM inovasyonları, Java uygulama yazılımlarının müşteri ihtiyaçlarına daha hızlı yanıt vermek için daha hızlı performansla günümüzün hesaplama taleplerine ayak uydurmasına yardımcı olur. Gelişmiş optimizer doruk noktası aktarım hızını artırır. Ayrıca, gereksiz veri temizleme işlemi için harcanan zamanı azaltmak amacıyla nesne tahsislerini en aza indirerek bellek tüketimini optimize eder. JIT modunda çalışan GraalVM Enterprise Sürümü performansı %50'ye kadar artırabilir. Bu, belleği daha erken boşaltır, böylece aynı altyapı üzerinde başka iş yüklerini çalıştırabilir ve BT maliyetlerini azaltabilirsiniz.
Buluta özel uygulama yazılımları oluşturmaGraalVM Enterprise'ın yerel görüntü hizmet programı, Java uygulama yazılımlarını zamanından önce makine ikililerine derler. Yerel yürütülebilir dosyalar, bir JVM'de çalışmaya kıyasla neredeyse 100 kat daha hızlı başlar ve 5 kat daha az bellek kullanır.
Organizasyonlar iş yüklerini buluta taşırken ve sistem kaynaklarının kullanımı için saat başına ödeme yaparken GraalVM, operasyonel maliyet tasarruflarının gerçekleştirilmesine yardımcı olabilir. Bu sonuçlar, GraalVM tarafından oluşturulan yerel yürütülebilir dosyaları, Helidon, Micronaut, Quarkus ve Spring Boot gibi büyük mikro hizmet çerçeveleri tarafından desteklenen bir alan olan mikro hizmet dağıtımı için ideal hale getirir.
Çok dilli programlar geliştirme ve üretkenliği artırmaJava'yı ve JavaScript gibi diğer dilleri JVM'de mükemmel performans ile çalıştırabilirsiniz. Oracle NetSuite SuiteScript, son kullanıcıların NetSuite üzerinde çalışan uygulama yazılımlarını özelleştirebileceği bir uzantı dilidir. GraalVM Enterprise, NetSuite'in JavaScript'i JVM'de çalışan SuiteScript'ten 4 kat daha hızlı çalışan makine koduna derleyebilen Truffle tabanlı bir JavaScript çalışma zamanı gömmesini sağlamıştır.
GraalVM Enterprise, Java uygulama yazılımı performansını hızlandırmak için program JIT'i çalıştırırken makine kodu üreten gelişmiş bir optimize edici derleyici içerir. Zamanından önce derlenen yerel görüntü hızlı başlar ve daha az bellek kullanır, bu da onu bulutta yerel dağıtım için ideal hale getirir. Geliştiricilerin hangi dilde yazıldıklarından bağımsız olarak iş sorunlarını çözmek için gereken en iyi kitaplıkları kullanmalarına izin vererek üretkenliği artırmak için çok dilli programları destekler.