一、序
那些年我们使用过的Java版本。我是一个80后,当年在大学时代使用的是Java5,当时是大三的时候学校有了编程课,最开始学的是汇编语言、VB、C++然后再是Java。当时就是Java5,搞了个课程设计与顺便也参加了个校园程序设计大赛。当毕业后工作时使用的就是Java6了,当时人手一份《JDK API 1.6 中文参考手册 高清完整版 CHM》。下面这张图有没有勾起你的回忆?我还是从前那个少年。。。。
Java5与Java6过度时最最经典的一个异常!!!
初学Java时的环境变量,相信在大学难到不少同学。。。
相信和我一样的Java程序员还有很多,下面我们来看看Java的发展史。
二、Java发布史
Java自1995诞生,至今已经快30年的历史了。
- 1995年5月23日,Java语言诞生;
- 1996年1月,第一个JDK-JDK1.0诞生;
- 1997年2月18日,JDK1.1发布;
- 1998年12月8日,Java 2企业平台J2EE发布 ;
- 2000年5月8日,JDK1.3发布;
- 2000年5月29日,JDK1.4发布;
- 2001年9月24日,J2EE1.3发布;
- 2002年2月26日,J2SE1.4发布;
- 2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑;
- 2006年12月,JavaOne大会召开,SUN公司公开Java SE 6;
- 2011年7月,发布Java SE 7;
- 2014年3月,甲骨文发表Java SE 8;
- 2017年9月,甲骨文发表Java SE 9;
.....
Oracle公司接手后以后基本是每半年发布一个大版本,也就是每年的3月与9月分别发布一个大版本。
引用一张网络图片:
三、Java大事记
- 1997年9月,JavaDeveloperConnection社区成员超过十万;
- 1998年2月,JDK1.1被下载超过2,000,000次;
- 1996年9月,约8.3万个网页应用了Java技术来制作;
- 2001年6月5日,Nokia宣布到2003年将出售1亿部支持Java的手机;
- 2001年,Java第一次在TIOBE编程语言排名榜上登上第一的宝座;
- 2001年至2019年,几乎从未跌落第一;
- 2019年后基本上也是前三之中;
- 目前Java 社区拥有数以百万的成员,基本上大部分企业都有使用Java。
四、Java相关的问题
看了这些有没有感觉到Java牛B Plus++。
那问题来了
- 到底全世界有多少个Java程序员呢?
- 又是为什么Java会掉下榜首呢?
- 又是为什么Java发布了这么多版本,大家还在使用Java8呢?
- 又是为什么有人叫Java8 ,有的说1.8呢?
- 大家会不会升级Java版本呢?
1、到底全世界有多少个Java程序员呢?
"Oracle 说世界上有900万 Java 程序员,Wikipedia说是1000万,而 http://NumberOf.net 的哥们儿说的很精确:世界上有九百万七千三百四十六个 Java 程序员。" 另一份统计说”全世界大约 2千多万程序员“。如果这些数据是准的那Java程序员的人数还是比较惊人的。当然这些统计数据只是来源于网络上查到数据,我想应该也能大概的影射出现实的情况。
2、又是为什么Java会掉下榜首呢?
Java这个编程语言在编程语言排行榜霸占第一几乎20来年,这个霸主为什么会掉下榜首呢?
- 市场需求增长远少于 Java 程序员供应增长,Java 程序员面临更加激烈的竞争。
- 目前全球大环境不好、疫情肆虐,各互联网大厂裁员,更别说中小微企业了。
- Sun公司被收购。
- Oracle宣布Java开始收费。
- 当年Oracle与Google打官司。这些全球巨人Oracle、Google、IBM、JetBrains都有大力发展Java。或许利益相关有各自的阵营。
- 当然还有python的兴起我想很多很多的因素对Java均有影响。
但我相信Java始终是位老大哥。
1)我们都知道Java也就是我们常说的”拿来主义“,相信在大部分企业后台都会选择Java。从市场上Java人才、培训机构Java的培训就可以看出来。
2)国内的阿里、腾讯、京东、百度、美团等等企业都有使用Java,并且在大力发展自己的Java框架或中间件。其实一路看来阿里Canal、EasyExcel、Arthas、FastJson、Druid、Sentinel、Nacos、RocketMQ、Dubbo、Seata。我们熟知的淘宝网也使用Java。
3)中小型公司因为缺少自主研发的能力,基本上后台的编程语言都用的 Java,因为 Java 有着丰富的类库,开箱即用。
4)全球约有 900 万名 Java 开发人员,创造了一个充满活力和积极进取的 Java 社区,开源类库非常丰富。
5)Java 霸占这份榜单很多年,并且还会持续霸占前几。
6)Java在国内,在全球的生态相信是巨大的,有多少主机运行着Java环境相信这数据也是惊人的。
7)Elasticsearch、Spring 、Dubbo、Spark、Hive、MyBatis、Kafka。。。这一个个重量级的Java中间件相信也是运行在不少主机上。
Java并没有步入中位危险,这个强势老大哥会一直屹立不倒。
3 、又是为什么Java发布了这么多版本,大家还在使用Java8呢?
我想有以下几个原因吧:
1、2019年1月Oracle宣布Java8开始收费了,JDK 8u211版本(包含)开始收费了。感觉这也是最主要的一个原因。
2、从Java9开始,基本就是每半年一个版本,这个更新速度,导致很多企业没法跟随。因为迁移升级都有成本。
3、从Java8后续升级的很多版本拥有的新功能大部分都用不上。
4、Oracle必尽是个商业公司与之前的Sun理念不一样,高斯林及sun的元老们也慢慢离开了Oracle公司。
目前很多企业还在使用JDK8,当然现在Oracle推出的免费版本JDK17相信这种局面应该会有所改变。
4、又是为什么有人叫Java8 ,有的说JDK1.8呢?
大家可以看到有这么叫的,比如Java8或者Java1.8,其实后面大家都是叫Java8,问题主要是历史遗留的问题,从J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0。之前都说1.x到5之后就把1.去掉了。
另一个问题就是有时听人说Java8有也有说JDK8/JDK1.8是怎么回事呢?其实都可以认为就是同一个东西。问题又来了好像还有个什么JRE,JRE又是什么东西呢?下面一张经典的图可以说明此问题。
5、大家会不会升级Java版本呢?
Java之父
SpringFramework6
可以看到SpringFramework官方已经在SpringFramework6使用了Java17。“我们目前建议JDK 17与Spring Framework 6.0.x和5.3.x一起使用”也给出了建议。并且可以看到Spring Framework5.3.x是支持JDK8~19,便Spring Framewor6最低版本是JDK17了。