Упрощение: Graal - компилятор байт-кода Java.Может использоваться как раз вовремя (как часть JVM) или раньше времени.SubstrateVM - другие вещи (среда выполнения), необходимые для фактического запуска заранее скомпилированного байт-кода Java без JVM.Это приводит в действие команду GraalVM "native-image".Truffle - платформа для реализации языков в качестве интерпретаторов AST, которые могут быть скомпилированы точно в срок с использованием graal.Некоторые известные реализованные языки - это битовый код JavaScript, Ruby, R и LLVM.GraalVM - большинство этих технологий упакованы вместе для поддержки различных вариантов использования, например: запуск программ JVM (то есть всего, что компилируется в байт-код Java) с использованием Graal в качестве JIT-компилятора для лучшей пиковой производительности, заблаговременная компиляция программ JVMдля быстрого запуска и небольшого объема памяти, запуска быстрых динамических языков (JS, R, Ruby), которые могут взаимодействовать без издержек и т. д.