CGIはサーバーサイドで実行されるプログラムのことだから
Javaもサーバーサイド用で動かすならCGIだな
スクリプトをCGIと思ってるんだと思うけど、C/C++で作ってもCGI

言語はなんでもいい、環境と作り方次第
DBはレプリケーションとプログラムの工夫、
ファイルもプログラムの工夫、

スクリプトだから遅いと勘違いしてるなら、実行時ビルドのスクリプトも
ビルド後のバイナリをキャッシュする拡張機能がほぼあるから速度面も大差はない