Итак, я сделал эту презентацию для “технического разговора” на работе, но на самом деле это было для того, чтобы помочь себе лучше понять приложения JVM – как они работают и следует ли нам использовать контейнеры.
Я довольно новичок в Java, поэтому часть этого посвящена тому, как работает JVM, и сравнению Scala с другими языками.
Я разместил полное видео здесь (25 минут) но ниже приведены слайды с некоторыми примечаниями.
Надеюсь, кто-нибудь найдет это полезным. Если вы увидите какие-либо ошибки или вопиющие упущения, пожалуйста, дайте мне знать.
1. Языки JVM (такие как Java и Scala) похожи на другие языки сценариев (такие как Python и Javascript) в том, как они выполняются.
2. Гипервизоры (например, VirtualBox) позволяют другой операционной системе работать поверх вашего компьютера.
3. Тип гипервизоров, которые используют облачные провайдеры (например, AWS), устанавливается непосредственно на их оборудовании, но аналогичен Virtual Box.
4. Контейнеры – это встроенная функция Linux, которая использует “пространства имен” и “группы” для управления изолированными процессами.
5. Виртуальные машины, как правило, намного больше контейнеров, потому что они включают в себя операционную систему.
6. Контейнеры потенциально могут повысить эффективность вычислений, поскольку они могут совместно использовать одни и те же ядра.
7. JVM не “поддерживала” контейнеры до 4 лет после выпуска Docker. Java по-прежнему рассматривается как
8. JVM требует другой стандартной библиотеки C, чем та, которая поставляется Alpine (самый популярный дистрибутив Linux с контейнерами).
9. В заключение…
Оригинал: “https://dev.to/markhopson/should-i-run-jvm-applications-inside-a-container-3ang”