先说结论:不会

Java语言自诞生之日起,就与各种容器产生了密切的关系,从早期的Applet,到后期的JSP、EJB,再到目前的Spring轻量级框架,容器都在不断地发生变化,但Java语言一直在发展壮大,生态系统也在逐步成熟和完善,到目前的大数据和云计算时代,Java语言仍然有很多应用场景。

从 1995 年第一个版本发布到现在,Java 语言已经在跌宕起伏中走过了 22 年,最新的 Java 版本也已经迭代到 Java 9。当年 Java 语言的跨平台优势如今看来也只不过是家常小菜,Go、Rust 等语言横空出世,进一步拓宽了编程语言的边界。当年发明 Java 语言的 Sun 公司早已被 Oracle 收购,Oracle 现在也正处于水深火热的云计算浪潮当中,甚至连 Java 之父 James Gosling 也加入了当今世界最大的云计算公司 AWS。

最简单的事实是:Java、平台、生态系统、环境和开发社区与消亡相去甚远,至少和目前正在使用的其他语言或平台距离一样远。即使是最严格的统计事实筛选也不能否认 Java 的领先地位。

此外,即使 Sun Microsystems 公司倒闭,平台也不会消亡。全世界的 Java 的开发人员,联合起来!不要惧怕束缚的铁链:最终您将看到,这些铁链其实并不存在。多亏 Java 平台的开源,它现在被称为 OpenJDK,更不要说 Java 的其他开源“净室”实现(Apache Harmony 和 Soy Latte 只是其中之二),即使 Sun 公司彻底从地球上消失,包括 IBM?、Apache、BEA 和 Oracle 在内的其他实体也能继续提供 JVM、库和工具,来支持整体生态系统。

Java 总有一天会消亡?绝对会的,但是我坚信 Java 的寿命会超过今天的程序员所使用的大部分语言,正如 COBOL 做到的那样。它甚至能比刚刚走出大学校园的第二代 Java 程序员走的更长。

1、容器(docker、k8s)统一了运行环境

只能是说是潮流,而很难说统一。

即使对k8s而言,docker也并非唯一选择,甚至k8s想干掉docker,用其他容器取而代之。

而且难保k8s也会在几年后被别的东西干掉,所以,何来统一一说?

2、以后Java的跨服务器优势是不是就不明显了

Java虽然把跨平台的特性作为一个宣传的卖点,但事实上我们选择Java、而不是其他开发语言,跨平台这个特性真的只是占所有理由中很小的部分。

而且现在流行docker,也许以后会流行jacker、alicker(随便杜撰的名字,类似张三李四)……,但我们预期Java仍然会提供这些平台的支持能力。

3、而且因为java虚拟机的存在,java的运行性能问题是不是会被放大

两个层面来理解这个问题,一是java的性能问题,这真的是老黄历了,请了解JVM底层机制尤其是JIT即时编译技术之后再来讨论这个问题,二是当我们说一个系统很慢的时候,它到底慢在哪里?也许是数据库、也许是网络,也许是程序设计问题,也许是页面渲染,但极少是因为后端语言平台本身运行太慢。

退一步说,如果Java都嫌慢,那js和python程序员不都得去跳楼了?

4、java这个20多年的后端常青树是不是要真的走下坡路了

没有任何东西可以永葆青春,我相信Java也不例外。

如果有一天Java语言没落了,我更愿意相信是Oracle公司一手把Java语言葬送了,而不是因为什么容器、K8s之类的东西。