JVM
概要
Stop the world
OSから見たらjvmもプロセスの一つに過ぎない
JVMはスタックマシン
メリット
プラットフォーム非依存
write once, run anywhere
エンタプライズみたいな大きいモノリスを構築するのにはベターな選択肢
スレッドセーフなVM
動的言語のVMがスレッドセーフでないのは珍しくも何ともありません。上述のCPythonやV8はその最も典型的な例です。Javaはおそらく、スレッドセーフなVMを持つ準動的な言語のベストな例と言えるでしょう。JVM上で構築されている言語がたくさんある理由がこれです。スレッドセーフなVMを自力で書くのはものすごくつらい作業です。
デメリット
JVMを立ち上げる必要があるので立ち上がりが遅い
コンテナ、サーバレスとの相性が微妙であるのでオワコンになりつつある 小規模なアプリでもそれなりにメモリを消費する
実行のためにはJVMが必要なのでcli開発とも相性が微妙