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

文章目录

  • JavaSE入门0之java起源与发展历程
    • 前言
    • 1.Java的起源
    • 2.Java和互联网
    • 3.java历史
    • 4.java语言特点
    • 5.java应用
    • 6.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 Explorer和Windows中不再附带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完成

JavaSE入门0之java起源与发展历程相关推荐

  1. JavaSE入门0基础笔记 第二章Java基础语法

    JavaSE入门0基础笔记 第二章Java基础语法 1.运算符 1.1算术运算符 1.1.1运算符和表达式 1.1.2 算术运算符 1.1.3字符的"+"操作 1.1.4 字符串中 ...

  2. 小学生计算机的起源与发展ppt,计算机的起源与发展历程ppt课件.ppt

    计算机的起源与发展历程ppt课件 1.1 计算机的起源与发展历程;了解计算机的起源与发展历程,计算机在信息社会中的应用,掌握计算机的组成和计算机硬件系统的构成.;教学难点;计算机的特性与应用计算机应用 ...

  3. 计算机的发展经历起源与未来,计算机起源与发展历程.ppt

    计算机起源与发展历程 1.1.1 计算机的起源 1.最早的计算工具:人的双手(图1-1所示) 1.1.1 计算机的起源 1.1.1 计算机的起源 1.1.1 计算机的起源 1.1.2 电子计算机的问世 ...

  4. 3.1_2 JavaSE入门 P1 【Java基础】Java语言概述、JDK编译

    相关链接 Excel目录 目录 Part1 Java语言概述 1 Java语言概述 1.1 Java发展史 1.2 java应用平台 1.3 跨平台原理 1.4 JVM JRE JDK 1.5 Ora ...

  5. 正确入门Service Mesh:起源、发展和现状

    简介:Service Mesh早已不是一个新兴的概念,但大家对Service Mesh的探索依然火热.本文将依次讲解Service Mesh的定义(什么是Service Mesh).起因(为什么需要S ...

  6. java概述,发展历程

    1. java概述 首先对于刚刚接触java的小白来说,可能连java是什么,为什么叫这么名字都不知道.其实,Java语言是有个曾用名的~叫Oak,而且起这个名字的时候也是很随心的,只是因为看到了窗口 ...

  7. 【JavaSE入门】:Java运算符及进制转换

    导航

  8. 计算机的起源与发展历程

    文章目录 1. 计算机的起源 2. 计算机的发展 1. 计算机的起源 在原始社会中,人类开始使用结绳,垒石,枝条或刻字等方式进行辅助计算和计数的工具. 在春秋时期,我们的祖先发明了算筹计数的 &quo ...

  9. 基于 RISC-V SoC 的可配置 FFT 系统设计(2)RISC-V 的起源及其发展历程

    引言  2010 年,伯克利大学(University of California, Berkeley,UCB)的 Krste Asanovic 教授领导的一支科研队伍,启动了一个有关 CPU 设计的 ...

最新文章

  1. jquery ajax下拉联动,jQuery Ajax MVC 下拉框联动
  2. Matlab回显语句
  3. [转载] 七龙珠第一部——第070话 五人战士大突击
  4. 机房配电系统与配电电缆线径的选择及巡查
  5. 集合上二元关系性质判定的实现(python实现)
  6. 讲解SQL Server定时作业job的设置方法
  7. python 函数式编程 库_使用Python的toolz库开始函数式编程的方法
  8. (原创)3.2 AddOwner和OverrideMetadata的区别
  9. Dubbo源码分析系列-Dubbo的动态编译原理
  10. w10系统 计算机快捷键大全,Win10电脑快捷键汇总_Win10系统快捷键大全_玩游戏网...
  11. python出现unexpected indent_Python、unexpected indent错误解决方法
  12. 【白帽子学习笔记 22】网络扫描与网络侦查
  13. 美版有锁iphone 如何上电信3G
  14. 【C++】String用法总结
  15. 分组交换网中的时延详解
  16. java.util.Date java.sql.Date SimpleDateFormat String 转DATE
  17. DAO 为什么难以实现问责制的去中心化
  18. [chat-GPT]解决OpenAI‘s services are not available in your country问题
  19. verdi直接打开list文件
  20. 【每日一篇】LinkedList详解

热门文章

  1. 毕业一年的大专生程序员工作总结(java后台)
  2. 计算机是一种工具英语,把计算机作为一种“工具”教给学生
  3. 星际蜗牛改装4线PWM调速风扇,通过BIOS设置降低风扇噪音
  4. 2.cost function损失函数
  5. Windows程序中的字符编码
  6. 什么是多态,JAVA 中多态的实现机制
  7. 《乔布斯传》英文原著重点词汇笔记(八)【 chapter six 】
  8. Redis的“前世今生“
  9. 青海省公安厅部署科达至臻高清视频会议系统
  10. Java进阶,Set集合,Map集合