JavaSE入门0之java起源与发展历程

本文介绍了Java编程语言的起源,由James Gosling在Sun Microsystems开发,最初用于智能家电,后因互联网兴起转向网络应用。Java经历了从Oak到Java的转变,与互联网的发展紧密相连,成为广泛应用于Web、移动、嵌入式和企业级应用的主流语言。Java具有简单性、面向对象、分布式、健壮性等特性,其版本从JDK1.0到现在的Java SE 11,不断演进以适应技术进步。
摘要由CSDN通过智能技术生成

JavaSE入门0之java起源与发展历程

前言

我个人觉得,学习一门语言,一定得了解这门语言的起源与发展历史,才能更好的理解和学习这门语言,仅是我的个人拙见。

1.Java的起源

Java之父James Gosling(詹姆斯~高斯林)出生于加拿大,是一位计算机编程天才。在卡内基·梅隆大学攻读计算机博士学位时,他编写了多处理器版本的Unix操作系统。

1990年,语言最开始只是Sun公司在1990年12月开始研究的一个内部项目。Sun计算机公司的一个叫做帕特里克·诺顿的工程师被公司自己开发的C++C语言编译器搞得焦头烂额,因为其中的API极其难用。帕特里克决定改用NeXT同时他也获得了研究公司的一个叫做**“Stealth计划”**的项目的机会。

“Stealth计划”后来改名为“Green计划”,詹姆斯·高斯林]和麦克·舍林丹(Mike Sheridan)也加入了帕特里克的工作小组。他们和其他几个工程师一起在加利福尼亚州市的一个小工作室里面研究开发新技术,瞄准下一代智能家电(如电冰箱、微波炉)的程序设计,Sun公司预料未来科技将在家用电器领域大显身手。团队最初考虑使用C++语言,但是很多成员包括Sun的首席科学家比尔·乔伊,发现C++和可用的API在某些方面存在很大问题。

工作小组使用的是嵌入式系统,可以用的资源极其有限。很多成员发现C++太复杂以至很多开发者经常错误使用。他们发现C++缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。

根据可用的资金,乔伊决定开发一种集C语言Mesa语言大成的新语言,在一份报告上,乔伊把它叫做“未来”,他提议Sun公司的工程师应该在C++的基础上,开发一种面向对象的环境。最初,高斯林试图修改和扩展C++的功能,他自己称这种新语言为C++ ++ --,但是后来他放弃了。他将要创造出一种全新的语言,被他命名为“Oak”(橡树),以他的办公室外的橡树命名。

随着1990年代互联网的发展,sun公司看见oak在互联网上应用的前景,于是对oak进行改造,后来,这项工作就演变为Java。随着互联网的普及,尤其是网景开发的网页浏览器的面世,Java 成为全球流行的开发语言。

PS:由于Oak商标被一家显卡公司制造商注册,Oak改名为Java,而java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-edY0ZRun-1575989058845)(C:\Users\Explore World!\AppData\Roaming\Typora\typora-user-images\image-20191208001008758.png)]

2.Java和互联网

1994年6月,在java团队经历了一场历时三天的头脑风暴后,团队决定再一次改变努力的目标,这次他们决定将该技术应用于万维网。他们认为随着Mosaic浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。作为原型,帕特里克·诺顿写了一个小型万维网浏览器,WebRunner,后来改名为HotJava

1994年10月,HotJava和Java平台为公司高层进行演示。1994年,Java 1.0a版本已经可以提供下载,但是Java和HotJava浏览器的第一次公开发布却是在1995年3月23日SunWorld大会上进行的。升阳公司的科学指导约翰·盖吉宣告Java技术。这个发布是与网景公司的执行副总裁马克·安德森的惊人发布一起进行的,宣布网景将在其浏览器中包含对Java的支持。1996年1月,Sun公司成立了Java业务集团,专门开发Java技术。

在流行几年之后,Java在浏览器中的地位被逐步侵蚀。它在简单交互性动画方面的用途已经完全被Adobe公司的Flash排挤,2005年Java倾向只被用于雅虎游戏那样的更为复杂的应用程序。Java同时遭受到来自微软的反对,他们决定在新版本的Internet ExplorerWindows中不再附带Java平台。

与此相反,在万维网的服务器端和手持设备上,Java变得更加流行。很多网站在后端使用JSP和其他的Java技术。

在桌面系统上,独立的Java程序还是相对少见这是因为Java平台的运行开销较大,而许多人的电脑上没有安装Java,由于网络带宽在以前较小,下载Java曾经是个耗时的事情。但是随着计算机计算能力、网络带宽在10年中获取了很大的进步,同时虚拟机和编译器的质量得到了提高,许多应用程序得到了广泛的使用。

3.java历史

1995年5月23日,Java语言诞生

1996月1月,JDK1.0诞生

1997年2月18日,JDK1.1发布

1999年6月,SUN公司发布Java三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)

2000年5月8日,JDK1.3发布

2000年5月29日,JDK1.4发布

2001年9月24日,J2EE1.3发布

2002年2月26日,J2SE1.4发布,此后Java的计算能力有了大幅提升

2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0

2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME;

2006年12月,SUN公司发布JRE6.0

2009年4月40日,oracle(甲骨文)收购sun公司

2009年12月,SUN公司发布Java EE 6

2010年11月,由于Oracle对Java社区的不友善,因此Apache扬言将退出JCP

2011年7月28日,Oracle公司发布Java SE 7

2014年3月18日,Oracle公司发表Java SE 8

2017年9月21日,Oracle公司发表Java SE 9

2018年3月21日,Oracle公司发表Java SE 10

2018年9月25日,Java SE 11发布

4.java语言特点

  1. 简单性:没有C语言头文件、指针运算、结构、操作符重载、虚基类等。
  2. 面向对象:将重点放在数据(对象)和对象的接口是上。
  3. 分布式:Java应用程序通过URL(Uniform Resource Locators,统一资源定位器)打开和访问网络上的对象。
  4. 健壮性:它的编译器能够检测其他语言仅在运行时才能检测出的问题。
  5. 安全性:java开发在安全方面投入了很大精力。
  6. 体系结构中立:生成一个中立的目标文件格式(.class)。
  7. 可移植性: write once,run anywhere(一次编写,到处运行)。
  8. 解释型:Java解释器可以在任何有解释器的机器上执行java字节码。
  9. 高性能 :Just in time(即时编译),字节码编译成本地机器码并缓存,提高效率。
  10. 多线程:多线程的使用可以带来更好的交互响应和实时行为。
  11. 动态性:就是在需要时将某些代码添加到正在运行的程序中。

5.java应用

1.桌面GUI应用程序: Java通过抽象窗口工具包(AWT),Swing和JavaFX等多种方式提供GUI开发。虽然AWT包含许多预先构建的组件,如菜单,按钮,列表以及众多第三方组件,但Swing(一个GUI小部件工具包)还提供某些高级组件,如树,表格,滚动窗格,选项卡式面板和列表。JavaFX是一组图形和媒体包,提供了Swing互操作性,3D图形功能和自包含的部署模型,可以快速编写Java小应用程序和应用程序的脚本。

2.移动应用程序: Java Platform,Micro Edition(Java ME或J2ME)是一个跨平台框架,用于构建可在所有Java支持的设备(包括功能手机和智能手机)上运行的应用程序。此外,最受欢迎的移动操作系统之一的Android应用程序通常使用Android软件开发工具包(SDK)或其他环境在Java中编写脚本。

3.嵌入式系统: 从微型芯片到专用计算机的嵌入式系统是执行专门任务的大型机电系统的组件。诸如SIM卡,蓝光光盘播放器,公用事业仪表和电视机等多种设备都使用嵌入式Java技术。据甲骨文公司称,100%的蓝光光盘播放器和1.25亿台电视设备都采用Java技术。

4.Web应用程序: Java通过Servlets,Struts或JSP提供对Web应用程序的支持。编程语言提供的简单编程和更高的安全性使得大量政府应用程序可用于基于Java的健康,社会安全,教育和保险。Java也可以使用Broadleaf等开源电子商务平台开发电子商务Web应用程序。

5.Web服务器和应用程序服务器: 今天的Java生态系统包含多个Java Web服务器和应用程序服务器。虽然Apache Tomcat,Simple,Jo !, Rimfaxe Web服务器(RWS)和Project Jigsaw占据了Web服务器空间,但WebLogic,WebSphere和Jboss EAP在商业应用服务器领域占据重要地位。

6.企业应用程序: Java企业版(Java EE)是一种流行的平台,为脚本和运行企业软件(包括网络应用程序和Web服务)提供API和运行时环境。甲骨文宣称Java在97%的企业计算机上运行。Java中更高的性能保证和更快的计算能力导致像Murex这样的高频交易系统被编入脚本中。它也是各种银行应用程序的中枢,它们将Java从前端用户端运行到后端服务器端。

7.科学应用: Java是许多软件开发人员用于编写涉及科学计算和数学运算的应用程序的选择。这些程序通常被认为是快速和安全的,具有更高的便携性和低维护性。像MATLAB这样的应用程序使用Java来交互用户界面和作为核心系统的一部分。

6.java相关名词解释

  • ​ Java SE java的标准版,也是核心和基础
  • ​ Java ME 主要用于嵌入式开发
  • ​ JAVA EE 提供了企业级应用开发的完整解决方案.

JDK(Java Develpment Kit):java开发工具包,已经发展到JDK13,这里主要使用JDK1.8(JavaSE 8),比较稳定.

JRE(Java Runtime Environment):java运行环境,包括java虚拟机.库函数,运行java的应用程序和Applet所必须的东西.

JVM(Java virtual Machine):java虚拟机,用于执行字节码,定义了指令集,寄存器集,结构栈,垃圾回收等.JVM负责解释字节码,边运行边解释,速度会有慢一点.

JIT(just in time):一次解释完再运行特定平台上的机器码.

​ Java语言是夸平台(平台指的是操作系统),但JVM不是跨平台的,选择对应版本你的操作系统。

​ Java运行过程三部分:

​ 加载代码: class loader完成

​ 校验代码: bytecode verifier完成

​ Java语言是夸平台(平台指的是操作系统),但JVM不是跨平台的,选择对应版本你的操作系统。

​ Java运行过程三部分:

​ 加载代码: class loader完成

​ 校验代码: bytecode verifier完成

​ 执行代码: runtime interpreter完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值