С++ компилируется в код для процессора. Java компилируется в код для программы которая выполняет ее. То есть тут сначала программа выполняется, а потом java "на процессоре". Сейчас правда JIT,и как бы программа на яве компилируется пока исполняется, а это тоже расходы