Salary is a function of perceived importance it has nothing to do with the language. There just appear to be a lot of high paying Java jobs, because there are a lot of companies still using Java as their lingua franca.
Most programers will tell you that the pay scale in software is like a hockey stick curve. Up really fast then flat line. Therefore, you move to the top of the S curve and then stick around long enough to approximate O(n).