java
  • Introduction
  • Patrones de Diseño
    • Builder Design Pattern
  • Java 8
    • Ordenar List
    • Optional
    • Gradle
    • filter
    • Lambda y Stream
  • Java 9
  • Java 10
  • Java 11
  • Java 12
  • Performance
  • Modularidad
  • GraalVM
    • Graalvm
  • JUnit
  • Apache Archiva
    • Apache Archiva
  • Dropbox APi
  • JVM Configuracion
    • JVM Configuration
    • NetBeans.conf
    • Glassfish
  • Data Science in Pure Java
  • Reflection
    • Call Methods at Runtime Using Java Reflection
  • LambdaMetaFactory
Powered by GitBook
On this page

Was this helpful?

GraalVM

PreviousModularidadNextGraalvm

Last updated 6 years ago

Was this helpful?

Current production virtual machines (VMs) provide high performance execution of programs only for a specific language or a very small set of languages. Compilation, memory management, and tooling are maintained separately for different languages, violating the ‘don’t repeat yourself’ (DRY) principle. This leads not only to a larger burden for the VM implementers, but also for developers due to inconsistent performance characteristics, tooling, and configuration. Furthermore, communication between programs written in different languages requires costly serialization and deserialization logic. Finally, high performance VMs are heavyweight processes with high memory footprint and difficult to embed.