【库学科技资讯】Java 发展简史:初生遇低谷,崛起于互联网


作者|神灵

主管编辑|吴兴玲

生产的CSDN(ID:CSDNnews)

本文来源于网络,侵删。



Java的起源和诞生


在1990年代,单片计算机系统诞生了。单片计算机系统不仅价格便宜,而且功能强大。使用它可以大大增强消费电子产品的智能性。

为了抓住市场机会,SUN于1991年成立了由James Gosling领导的“绿色”项目团队,目的是开发可以在各种消费电子产品上运行的程序。建筑。

因此,将哪种编程语言用于设计对于项目团队来说是一个头疼的问题。那时,C ++具有更多优势。项目团队首先考虑使用它来编写程序,但是C ++太复杂且太大,并且由于消费电子产品中使用的嵌入式处理器芯片种类繁多,因此有必要编写程序。跨平台操作,如果用C ++编写,则对程序的跨平台操作不友好。

最终,项目团队决定:既不使用C ++编写也不开发新的编程语言,而是进行C ++转换:删除了C ++的复杂指针和内存管理,并结合了嵌入式系统的实时需求,最后1992年,他们开发了一种称为“ Oak”的面向对象的语言。

当他们向硬件制造商演示时,硬件制造商对此并不冷漠。由于缺乏硬件支持,OaK语言无法进入市场,因此被搁置了。

1994年,项目团队看到了浏览器的未来发展前景,因此他们决定将OaK应用于万维网。 1995年,他们使用OaK语言开发了一种技术,该技术可以将小程序嵌入到网页中以执行Applet。因为Applet不仅可以嵌入到网页中,而且还可以通过Web在Web上传播,这使得无数的程序员看到了OaK的语言,与此同时,OaK正式将其名称更改为Java。从那时起,Java随着Internet的推广而变得流行。



Java的演变


1996年1月,SUN推出了JDK1.0。 JDK1.0发行后,许多程序员学习并使用Java来制作网页。 JDK包括两部分:开发工具和操作环境。

操作环境包括核心API,集成API,用户界面API,发布技术和Java虚拟机(JVM)。 JDK1.0的发布标志着Java已成为独立的开发工具。同年9月,使用Java技术制作了大约83,000个网页。

JDK1.0的代表性技术包括:Java虚拟机,Applet,AWT等。

1997年2月,SUN推出了JDK 1.1,在其发布的三周之内就下载了近220,000次。 4月2日,第一次Java One会议在美国旧金山举行。超过10,000人参加了这次会议,创下了当时世界上规模最大的同类会议的记录。九月份,Java开发人员连接社区有100,000多名成员。同年,还有10个主要的操作系统供应商正式宣布将在其产品中使用Java。

JDK1.1的代表性技术包括:JDBC,JavaBeans,RMI,JAR文件格式,内部类和Java语法中的反射。

1998年12月8日,发布了第二版Java平台J2EE的企业版JDK1.2。

1999年6月,Sun公司将Java系统分为三个方向:

J2ME(Java2微型版,Java2平台的微型版),用于移动,无线和有限资源环境中;

J2SE(Java 2标准版,Java 2平台的标准版),用于桌面环境;

J2EE(Java 2企业版,Java 2平台的企业版),用于基于Java的应用程序服务器中。

对于不同的供应商,Java API也分为三类:

Java Core API:Java核心类库;

Java可选API:对先前API的扩展;

特殊API:由特殊制造商或组织提供的API。

Java 2平台的发布是Java开发中最重要的里程碑,标志着Java应用程序开始普及。

JKD1.2的代表性技术包括:Swing,Java IDL,EJB,Java插件等。在API文档中,添加了strictfp关键字和Collections集合类。

在1999年4月27日,发布了HotSpot虚拟机。 HotSpot由一家名为“ Longview Technologies”的小公司开发,后来被SUN收购。发行HotSpot虚拟机时,它作为JDK 1.2的附件提供,后来成为JDK 1.3和Sun JDK的所有更高版本的默认虚拟机。

2000年5月,相继发布了JDK1.3,JDK1.4和J2SE1.3。 J2SE1.3是对J2SE1.2的补充和扩展。从应用领域的角度来看,JavaSE1.3已经涵盖了数据库,WEB和网络。 ,图形,多媒体,电话,图像和大多数信息技术领域。

在2002年2月26日,发布了J2SE1.4。与J2SE1.3相比,类和接口增加了近62%。在这些新功能中,它还提供广泛的XML支持,安全套接字(Socket)支持(通过SSL和TLS协议),全新的I / OAPI,正则表达式,日志记录和断言。

J2SE1.5于2004年9月30日发布,成为Java语言开发历史上的另一个里程碑。为了表达此版本的重要性,J2SE 1.5被重命名为Java SE 5.0(内部版本号为1.5.0)。 Java SE 5.0包含自1996年1.0版以来最重要的更新,包括通用支持,基本类型的自动装箱,改进的循环,枚举类型,格式化的I / O和可变参数。

在2005年6月的Java One会议上,Sun发布了Java SE6。这时,各种版本的Java被重命名,而数字2被取消。例如,J2EE重命名为JavaEE,J2SE重命名为JavaSE,J2ME重命名为JavaME。

2011年7月28日,收购Sun的Oracle发行了Java SE 7,该Java SE 7引入了新功能,例如二进制整数,支持字符串的switch语句,棱柱形语法,多个异常捕获以及尝试自动关闭资源的语言。

2014年3月18日,Oracle Corporation发布了Java SE8。此版本的升级带来了许多新功能,例如全新的Lambda表达式和Java的流式编程。这些新功能使Java更加强大。

2017年9月22日,Oracle公司发布了Java SE9。此版本升级增强了Java模块化系统,使Java语言更轻巧,并采用了更高效,更智能的GI垃圾收集器。类库上的许多更新可以进一步简化编程。

Java SE 10于2018年3月21日发布。 Java 10版本带来了许多新功能。其中,开发人员最关心的是局部变量类型推断。此外,它还包括新功能,例如垃圾收集器改进,GC改进,性能改进,线程管理和控制。

Java SE 11于2018年9月26日发布。这是主要Java版本周期更改后的第一个长期支持版本(LTS版本将继续受支持,直到2026年9月)。 Java11带来了诸如ZGC和Http Client之类的重要功能,并且总共包含17个JEP(JDK增强建议)。

Java SE 12已于2019年3月20日发布。 Java 12是短期支持版本,可以在下一个版本发布之前获得Oracle的商业支持。

2019年9月23日,Java SE 13被发布。此版本添加了“文本块”。文本块是多行字符串文字,避免了大多数转义序列的需要,并以可预测的方式自动格式化字符串,并让开发人员在需要时控制格式。



爪哇人经历了千辛万苦,以换取春天的花朵


经过20多年的版本更新,逐步积累,创建了当今的Java。

列出更新过程中Java的新功能:

Java 1.0:

  • 虚拟机-Sun Classic VM

  • Java applet-AppletJava applet-Applet

  • Java图形设计

Java 1.1:

  • 罐子包装-瓶子

  • Java规范-JavaBeans

  • 连接到数据库JDBC(Java数据库连接)远程调用RMI

  • 内部阶级-内部阶级

  • 反射-反射

Java 1.2:

  • 字符串常量进行内存映射

  • 对打包的Java文件进行数字签名

  • 策略工具,用于控制对系统资源的授权访问

  • JDBC中引入了可滚动的结果集,BLOB,CLOB,批处理更新和用户定义的类型

  • 在Applet中添加声音支持

  • 即时编译技术

  • 运行插件-Java插件

  • J2EE规范-EJB

  • 平台对象请求代理架构-Java IDL

  • 收藏集

Java 1.3:

  • 计算

  • CORBA IIOP实现RMI通信协议

  • Java 2D的新功能

  • Jar文件索引

  • 计时器API

  • 声音Java声音API

Java 1.4:

  • 正则表达式

  • 链条异常

  • XML解析器

  • XSLT转换器

  • XML处理

  • Java打印服务

  • JDBC Advanced-Java Web Start JDBC 3.0JDBC Advanced-Java Web Start JDBC 3.0

  • 操作系统的高级功能-首选项

  • 先进的Stream-NIO

  • 记录功能-记录

  • 图片流-Imgae I / O

Java 1.5:

  • 自动装箱和拆箱

  • 泛型

  • 元数据

  • 静态介绍

  • 内省-内省

  • 枚举枚举

  • 可变长度参数-Varargs

  • 高级虚幻foreach

  • 内存模型

  • 并发包-并发

Java SE 6:

  • 名称变更

  • 脚本语言

  • 编译API和微型HTTP服务器API

  • 锁定并同步

  • 垃圾收集

  • 类加载

  • Kerberos

  • LDAP

  • JDBC Advanced-JDBC 4.0JDBC Advanced-JDBC 4.0

  • Java™编程语言编译器接口-Java编译器

  • 可插拔注释

  • 公钥基础设施本机PKI

  • 通用安全服务-Java GSS

  • 网络服务-网络服务

Java SE 7:

  • 字符串可以作为switch语句块中的分支条件

  • 创建通用对象时应用类型推断

  • try-with-resources

  • null值得自动处理

  • 数字类型可以用二进制字符串表示

  • 介绍Java NIO.2开发套件

  • 动态语言支持

  • 安全加,减,乘和除

  • 地图集合支持并发请求

Java SE 8:

Java SE 8是Java更新历史上非常重要的版本。函数式编程的引入使Java编程更加强大。典型的有:

  • Java工具的操作增强

  • Unicode增强功能,包括对Unicode 6.2.0的支持

  • 并行数组排序

  • 标准编解码Base64

  • 无符号算术支持

  • 新并发

  • Lambda表达式

  • 方法参数反射Java XML技术增强

  • JSSE服务器中对SSL / TLS服务器名称指示(SNI)扩展的增强支持,用于虚拟机操作

  • 支持AEAD算法...

Java SE 9、10 ...

从目前的情况来看,Java在世界编程语言中排名第一,而且风景非常好。

回想过去,当我出生时,我陷入了低谷,然后利用互联网崛起。 J2SE捕获了桌面,J2ME捕获了手机,J2EE捕获了服务器。 Java的三大力量也浪费了时间,并从灰烬中重生。投入甲骨文的怀抱,以换取春天的温暖。在这种悲伤,快乐,感激和叹息的情况下,Java的当前状况已不是一天的工作。我希望世界各地的所有程序员都会珍惜并希望它。



Java崛起,未来充满希望


1.从开发的角度看Java:API不断更新,可重用性不断提高

Java的更新速度非常快,并且会不时地进行版本迭代以适应新技术的发展趋势。学习Java的程序员遍布世界各地。幸运的是,我也是众多Java程序员之一。过去几年一直很热门的大数据也与Java密切相关。

Java本身具有极大的开放性和可伸缩性,再加上Java如此悠久的历史背景,我相信,只要语言继续发展,就很难被时代所淘汰。

2.从就业的角度来看Java:Java一直处于互联网时代,人工智能时代和5G +时代。

随着网络的发展,Java已广泛用于数据中心,PC,游戏,移动电话和其他行业。从近年来的招聘量来看,对Java开发人员的需求仍然很大,对Java的学习仍然是主流,发展前景广阔。

我国信息技术人才的培养仍处于发展阶段,导致社会上对人才的实际需求远远大于信息技术培训人才的数量,迫切需要成千上万的中小企业需要全面掌握Java软件开发的基本技能和知识的软件工程师。

Java软件工程师的就业前景良好。此外,IT专业企业不仅需要Java软件工程师,而且大多数非IT企业也需要Java软件工程师。前景相对乐观。我到目前为止所知道的是:

1. Java企业应用程序开发

当前,Java在许多行业中都有许多企业信息应用程序,例如邮箱,物流,医疗,股票,OA,金融和其他信息系统。这些与当前的主流行业密切相关,因此对Java开发人员的需求仍然相对较大,并且处理效果相当好。工资水平类似于Java Internet的方向。在一些大型企业中很容易找到工作,只要您有毅力和学习的毅力,我认为至少当面对如此多的选择时,您不会无用。机会将永远保留给有准备的人。

2. Java网站建设

近年来,网站建设业务呈现快速增长的势头,行业市场越来越大。许多新技术的应用使公司网站的建设更具吸引力和功能。 Java编程语言将使网站结构更紧密,访问更流畅,更适应新要求。尽管当前的市场分析Java太昂贵而无法建立网站,并且硬件要求也比较高,但是大多数中小型企业都会选择使用PHP语言进行开发,但是在许多大型企业中,Java语言仍然用过,所以你还是有机会的,鸭子往大昌。

3. Android开发

Android是世界上最大的智能手机操作系统。 Android在过去几年中发展迅速,在该国的市场份额也有所增加。但是,在小程序和H5迅速崛起的影响下,Android本机开发的门槛已经提高。 Android开发工程师的要求也有所提高。这就要求学习Android的程序员具有熟练的技术。优秀的Android开发工程师仍然存在很大差距。 Android的中级和高级工程师仍然很受欢迎。 Android应用程序的主要开发语言是Java,因此,如果您非常熟练,则选择Android是一个很好的方向。

4. Java游戏开发

Java可用于编写游戏脚本。 Bean,Shell,Groovy等脚本语言可以方便,无缝地与Java语言进行交互,这极大地促进了Java游戏编程的发展。当前,国内游戏比较火爆,有很多受欢迎的电子竞技,因此国内游戏专业人士的需求总是存在缺口。因此,只要您具备非凡的技能,就可以努力填补这些空白,而不必担心食物。



不要忘了初衷,走Java


我是一个学习Java的程序员。在完成并撰写本文之后,我又重新认识了Java。在我看来,Java的“火”并非偶然,而是许多因素的累积。 Java的开发过程值得研究。作为Java的忠实拥护者,Java的重要性不言而喻。我相信无论是计算机专业人士还是非计算机专业人士,程序员都会有同感。

对我来说,其他Java程序员也是一样,因为他们对Java有着持久的热爱,因此他们愿意继续追求专业卓越,并且凭借这种忠诚的热爱,我们将不会惧怕风雨无阻而前进。不要忘记最初的意图,并一直拥有它,我想把Java当作一匹马,诗歌和美酒来利用我的时间!

参考:Java百度百科

作者简介:伟大的才华横溢,热爱共享的程序员始终相信:“您知道如何共享的知识越多,您的价值就会越高。”







您订购的每一次“观看”,我都将其视为最爱

你可能感兴趣的:(【库学科技资讯】Java 发展简史:初生遇低谷,崛起于互联网)