This is true. It always feels weird answering these kinds of questions living outside of the US. You can easily have a salary that is several times the average of your country (I'm talking like 20x) and still make about half of what you'd make in the US, when shown in USD.
C/C++ are basically languages used only for technical products, while Java/web is used internally by pretty much every large company on Earth. This puts immense pressure on salaries.