这几种语言专注的领域完全不一样啊,C/C++主要用在系统级别的开发,例如嵌入式,驱动,以及一些高性能要求的领域和和操作系统。Java做服务集群、大数据是独当一面的,暂时没有竞争对手,go正在往这方面发展,但是暂时还不及Java的规模。python目前也就机器学习用的比较多,脚本语言。go算是后起之秀,这两年在web领域发展很快,但是刚刚说了,社区、成熟度、普及度还不及Java。
针对楼主问的问题,语言只是和计算机沟通的一种方式,java本身并没有什么局限,它只是一种语言,你想拿***什么都是可以的,只不过由于其早期跨平台的特性使得Java特别适合做分布式计算,你要说C++能不能做呢?也能做,但是开发效率不如java高,最终掌握的知识是透过语言直面计算机系统的,也就是算法、计算机组成原理、计算机操作系统、计算机网络,这是计算机的核心,不管哪种语言都会落实到这些知识上。
要说Java的学习,其实现在Java的生态已经无比庞大了,绝大多数人,极端点说其实是所有人都只能学习掌握其中一个分支如:中间件,数据库或者存储,JVM,分布式大数据计算,脚本语言支持、J2EE、微服务等。楼主说的弄清楚Java的机制用法其实只能算是刚刚入门,举几个例子:Hadoop有130W行代码,看得完吗?如果看不完那你永远也不能说你精通Hadoop,那你也就永远也不能说你精通Java,能把核心的那20W行代码看完吃透就很不错了,常用的例如Spring,SpringFramework 60W行代码,看得完吗?看完了SpringBoot还有20W行,看完了还有SpringCloud,你能说你精通Spring吗?JDK本身,500W行代码,能看完吗?你还敢说你精通Java吗?hotspot虚拟机,80W行C++代码,没看过JVM源码能叫精通Java吗?想看虚拟机源码,那Linux、MacOS、Windows的系统架构得知道吧?Linux系统调用源码得看一部分吧?Linux源码2000W行C/C++/汇编代码一个人一辈子能弄懂多少呢?Java的学习是无止境的,能精通其中一个分支就是业界大神了,而弄清楚Java语言的机制勉强算刚刚入门。
要说Java的未来,Java本身已经很成熟了,可以说在现有的计算机体系下不会再有***性的变化了,但是它的应用前景仍然是无限宽广的。