Java的前世今生

前言

这一期来讲故事 你说为啥这杯咖啡能喝这么多年还这么香 让我们一起来看看这杯咖啡的魔力

现如今一提到 Java开发 就完完全全是spring的事情 一谈学习就是 springboot springcloud 好像没有什么事情是spring全家桶不能一把梭哈的 很多人就觉得这个Java很单一 很枯燥

Java真的就只能是服务端开发吗 让我们来捋一捋这个Java的前世今生

首先是太阳公司


在这里插入图片描述

SUN公司介绍

SUN公司是从斯坦福大学孵化器出的高科技公司 是当时互联网里面的老大, GoogleCEO埃里克.施密特和首任工程部副总裁韦恩.罗森(Wayne Rosen) 从这里出去的

时间来到1991


(詹姆斯·高斯林)James Gosling 大家习惯称他为高司令 Java之父 当时高司令着手一个名叫Green的项目 专攻计算机在家电产品上的嵌入式应用(电视机顶盒、面包烤箱、移动电话)

当时选用的是c++ C++程序过于复杂和庞大 但是嵌入式的产品性能差 种类多, 所以需要新的跨平台的 简洁的开发语言 随后便开发了Oak(橡树)语言 这就是 Java 语言的前身。

由于当时并不被硬件生产商认同 所以Oak并没有掀起大风大浪

时间来到 1995年


互联网的快速发展给了Oak机会 因为Oak的小巧 Sun公司首先推出了可以嵌入网页并且快速在网络上传输的Applet 非常适合网络传播

随后 各大公司竞相购买了Java使用许可证

申请注册商标时,发现Oak已经被人使用了,然后他们正在咖啡馆喝Java咖啡,灵机一动Oak语言改名为Java

Java吸收C++ 的很多优点 精简了很多东西(还摒弃了C++ 里难以理解的多继承、指针等概念) 当时被人称为 C++-

这一年的5月23日Java 1.0版本正式在SunWorld大会上发布 喊出了”Write Once,Run Anywhere”的口号 体现了其跨平台的特性

时间来到 1996 年

这一年的1月23日正式发布了JDK1.0。这个版本包括了两部分:运行环境(即JRE)
和开发环境(即JDK)。 这个时候java才能真正的用来编写软件

版本号 名称 中文名 发布日期
JDK 1.1.4 Sparkler 宝石 1997-09-12
JDK 1.1.5 Pumpkin 南瓜 1997-12-13
JDK 1.1.6 Abigail 阿比盖尔–女子名 1998-04-24
JDK 1.1.7 Brutus 布鲁图–古罗马政治家和将军 1998-09-28
JDK 1.1.8 Chelsea 切尔西–城市名 1999-04-08
J2SE 1.2 Playground 运动场 1998-12-04
J2SE 1.2.1 none 1999-03-30
J2SE 1.2.2 Cricket 蟋蟀 1999-07-08
J2SE 1.3 Kestrel 美洲红隼 2000-05-08
J2SE 1.3.1 Ladybird 瓢虫 2001-05-17
J2SE 1.4.0 Merlin 灰背隼 2002-02-13
J2SE 1.4.1 grasshopper 蚱蜢 2002-09-16
J2SE 1.4.2 Mantis 螳螂 2003-06-26
J2SE 5.0 (1.5.0) Tiger 老虎 2004-10
J2SE 6.0/1.6 (Beta) Mustang 野马 2006-04
Java SE 7.0 / 1.7 Dolphin 海豚 2011-07-28
Java SE 8.0 / 1.8 Spider 蜘蛛 2014-03-18
Java SE 9.0 2017-09-21
Java SE 10.0 2018-03-21
Java SE 11.0 2018-09-25
JAVA 12 2019-03-19

这一年5月底,Sun公司于美国旧金山举行了首届JavaOne大会,从此JavaOne成为全世界数百万Java开发者的盛会

这一年 Sun和IBM联手创建了用于嵌入式系统的Java OS 这个东西你在网上资料都查不到 注定是失败的

时间来到1998 年


JDK1.2 发布,Java 技术体系被拆分为 J2SE、J2EE、J2ME 三大体系

大家可能对这个 J2ME 不是很熟悉 是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API 比如当时手机里面的 Java小软件 小游戏

这也是我对Java的兴趣的起始 每次看到 屏幕上的 咖啡标志都非常亲切 通宵通宵的玩国产rpg游戏

时间来到2004 年


Spring1.0 框架迅速发展 Spring 2.0 于 2006 年 10 月发布

时间来到2006年


这一年的12月11日 JDK 1.6发布

Sun终结了从JDK 1.2开始已经有8年历史的J2EE、J2SE、J2ME的命名方式,启用Java SE 、Java EE 、Java ME 的命名方式

JAVA在桌面软件也是有一腿的 最开始的AWT 到后来布局让人非常头疼的 swing 把swing发挥到极致的是IDEA是吧 swing这东西的ui界面 大家大一的Java基础课时候应该是见识过的 非常的难搞 最近这几年很多的抢购软件还在用这个编写

虽然后来 JavaFx 有了很多的提升 但是Java 在GUI这个方面是真的不太行

2009 年


Sun 公司因为经营不善被 Oracle 公司收购 曾经的老大被提供数据库服务的收购了 互联网 真的是变化莫测

当Java程序员开发web的时候还是使用 Servlet out.println 一个一个打印 网页片段进行拼接的时候 PHP .NET 已经可以使用模板页面了 导致一部分web开发的java程序员转向 php的怀抱 由此 JSP诞生了 JSP虽然原则上还是编译为Servlet 但是情况就好的多了 随后bootstrapjquery成了JavaWeb开发的伴侣 现在很多老项目的维护 都是它们的身影

2011 年,Java SE 7.0 发布。 2014年3月18日,Java SE 8.0 发布

这仍然是当前占有率最高的 JDK版本

时间回到几年前


这个时候 市场已经从 ssh 转向 ssm 但是开发模式还是没有变化 配置麻烦 故障率高 会偷懒的码农 都是用别人的脚手架 可以说 springboot 就是个高级的脚手架

也在这个同一时期

这个时候原生Android开发 如日中天 当时Android培训就像现在的javaweb培训一样火热 写 xml 的码农 就像现在写springboot的码农一样多 再后来过渡饱和加上移动平台的相对稳定 一大部分人寻求出路 Android原生开发可以说是我当时对Java的学习热情的主要来源 试问哪个程序员没有中二的一段时间 想做点自己的东西呢?

现在 springboot 开发真的非常方便 开箱即用 几个注解就能快速开始开发

最后说些话


Java经久不衰,当时也肯定不可能一直火下去,会不断有新语言出现并替代

无论什么语言、什么框架,都只不过是需求的最终落地而已,我们搞技术的需要做的事情就是把老板的需求变现,判断还是那个判断,循环还是那个循环

无论语言怎么变化,我们所掌握的数据结构和算法才是经久不衰的,这也是为什么每个程序员都要重视的原因

不同的语言有不同的特点,没有必要去争论谁才是最好的,我自己觉得只有最适合的,没有最好的

比如说现在php仍然是网页快速落地的好方案,要是你对一个正在使用php的公司说2020年了还在用php,为啥不上Java?

这只能说明你的愚昧,写代码的人老是觉得自己会的是最牛逼的,老板会觉得能快速实现业务的最好的,这也就是你和老板的差距,你可能觉得老板愚昧不如你,但是他是老板,你是员工,他就是比你厉害

如果你非要觉得自己厉害,你完全可以尝试改变一下自己的角色,最后会发现,自己也仅仅就是会敲点代码而已

版权声明:本文为lookroot原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lookroot/p/12958110.html