越來越多的項目將眼光投向了 JVM 本身,希望通過解決 JVM 本身帶來的一些問題,提高分佈式系統的性能或是健壯性,從而增強自身的競爭力。

JVM 存在的問題

  1. Java 對象開銷
  2. 對象存儲結構引發的 cache miss
  3. 大數據的垃圾回收
  4. OOM 問題

內文有提到 Spark 及 Flink 如何繞開 JVM 的問題。其實 Cassandra 也用到很多類似的方法,甚至另有團隊直接用 C++ 重寫,獲得 10 倍效能提升。

再反觀中國互聯網,BAT (百度 / 阿里巴巴 / 騰訊) 也都開始用 C++ 重寫 Hadoop 生態圈。連相對規模小的公司,如中國雲梯也正加入以 C++ 改寫的行列。

所以不管從國外或中國的經驗上,JVM 的優勢似乎在大數據領域中漸漸流失。