要看薪水组成;一个Java程序员的技能并不只有Java编程技术。可能还有运维(Linux/相关服务器),前端开发(Javascript/HTML/CSS),团队合作,项目管理,领域知识/项目经验(金融),甚至英文水平。工作内容如果只是单纯的Java开发,40万年薪,大概需要能开发Spring这样框架的架构师。但一般的公司也不会自研开发框架。所以技能复合(全栈)才是王道。