学习任务:

视频学习Java语言概述

阅读文档了解Java的发展示史

阅读文档了解Java的特性

考考你

Java自1995年推出至今已有二十多年的历史,这充分显现了Java丰富的历史及其强劲的生命力,让我们先从她的发明者说起吧。

1)詹姆斯·高斯林

Java的发明人:詹姆斯·高斯林(James Gosling)

1561848342887

詹姆斯·高斯林 (James Gosling)是一名软件专家,1955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为“Java之父”。

詹姆斯·高斯林毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司。1990年,与Patrick Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。1994年底,James Gosling在硅谷召开的“技术、教育和设计大会”上展示Java程式。2000年,Java成为世界上最流行的电脑语言。

2)Java应用领域

Java有着广泛的应用领域:

1)大型网站,如:天猫、京东等电子商务网站的后台多半是用Java开发。

2)企业级应用:如:企业ERP系统,OA办公自动化系统、医院MIS系统、金融系统,物流系统等。

3)嵌入式设备及消费类电子产品:如:无线手持设备、智能家居设备、汽车电子设备等嵌入Java程序。

4)大数据领域:如:基于Java所编写的列式数据库HBase,Hive数据库,Hadoop等软件。

3)Java图标的由来

下图是Java语言的图标:

1561849546121

Java是印尼爪哇岛的名字,盛产咖啡。

据传是Java创始团队成员在喝爪哇咖啡时给新的编程语言起名字,一位成员由咖啡想到了Java这个名字。

4)Java发展史

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

1996年1月,JDK1.0诞生

1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术

1996年9月,约8.3万个网页应用了JAVA技术来制作

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

1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录

1997年9月,JavaDeveloperConnection社区成员超过十万

1998年2月,JDK1.1被下载超过2,000,000次

1998年12月4日,JDK 1.2发布【第一个里程碑】

1998年12月8日,JAVA2企业平台J2EE发布

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

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

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

2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机

2001年9月24日,J2EE1.3发布,J2EE用于企业开发。

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

2004年9月30日18:00PM,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年12月,SUN公司发布Java EE 6,同年4月20日oracle收购SUN公司

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

2014年3月,Oracle公司发表Java SE 8【第三里程碑】

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

2018年03月,Oracle公司发表Java SE 10

2018年09月,Oracle公司发表Java SE 11

2019年3月,Oracle公司发表Java SE 12

2019年9月,Oracle公司发表Java SE 13

2020年3月,Oracle公司发表Java SE 14

2020年9月,Oracle公司发表Java SE 15

从Java SE9开始遵循半年一个版本的更新速度,Oracle将每三年指定一个版本作为长期支持(LTS)版本。到2020年为止,已经发布了Java SE15。

虽然Java版本已经发展到Java SE 15但是在企业中Java SE 8是市场的主流版本,为什么企业不升级到高级版本呢?

首先JavaSE 8是Oracle公司长期支持的版本,其它版本虽然有特性上的升级但对企业的吸引力不够,企业还是稳定为主,另外JavaSE 8的性能相比新版本也是毫不逊色的,所以市场上约有80%的企业仍然在使用Java8。

SUN公司对java的描述是 “Java是一门简单的,面向对象,分布式,解释性,健壮的,安全的,结构中立的, 便捷的, 高性能的, 多线程的, 动态的语言”。

Java语言特性列表如下:

简单(Simple)

面向对象(Object-Oriented)

方便,可移植(Portable)

平台独立(Platform independent)

安全(Secured)

强大,健壮(Robust)

体系结构中立(Architecture neutral)

动态(Dynamic)

解释执行(Interpreted)

高性能(High Performance)

多线程(Multithreaded)

分布式(Distributed)

1) 简单(Simple)

Java语言很简单,Java的语法是基于C++而设计(程序员在学习C++之后更容易学习它)。

移除C++许多令人困惑或很少使用的特征,例如,显式指针,操作符重载等。

不需要删除未引用的对象,因为在Java中有自动垃圾收集器。

2)面向对象(Object-Oriented)

一切皆对象,一个对象中包括了数据和行为。面向对象编程(OOP)是一种通过提供一些规则来简化软件开发和维护的方法,通常实践证明面向对象编程比面向过程编程(如c语言)更适合大型的软件工程。

3)可移植(Portable)

此特性也叫跨平台特性,通过Java语言编写的应用程序在不同的系统平台上都可以运行。

平台是程序运行的硬件或软件环境,系统平台主要是指操作系统,常见的操作系统有Windows、Unix/Linux、Android、macOS、HarmonyOS等。

Java程序通过Java 虚拟机(JVM Java Virtual Machine)运行,只要在需要运行java应用程序的操作系统上先安装一个Java虚拟机即可,由JVM来负责Java程序在该系统中的运行,这就是跨平台的原理。

如下图是Java跨平台运行的示意图:

1561854597614

​ 因为有了JVM所以同一个Java程序可以在三个不同的操作系统中都可以执行,这样就实现了Java程序的跨平台性,也称为Java具有良好的可移植性。

4)平台独立(Platform independent)

Java代码可以在多个平台上运行,Java代码由编译器编译并转换为字节码,它是一个独立于平台的代码,即字节码可以在多个平台上运行,达到一次编写到处运行。

5)安全(Secured)

Java的安全体现在它的沙箱安全机制:

1.Java类装载器结构

2.Java字节码校验器

3.Java安全管理器

Java的安全还体现在它的其它功能特性:

1.类型安全的引用转换

2.结构化的内存訪问(无指针算法)

3.自己主动垃圾收集

4.数组边界检查

5.空引用检查

6)健壮(Robust)

程序的健壮性主要靠程序员的编码质量,Java从语言本身出发提供很多有利于程序健壮的特性,如:强大的内存管理,避免有安全问题的指针;自动垃圾收集,无需程序员手动释放内存; 异常处理和类型检查机制提高代码质量。

7)体系结构中立(Architecture neutral)

这里的体系结构中立主要是指不同CPU的体系架构,Java编译器生成的是一个体系架构中立的对象文件格式(an architecture-neutral object file format)即Java字节码文件,在不同的电脑上安装Java虚拟机即可实现一个Java程序在许多不同的CPU下运行。

8)动态(Dynamic)

Java程序能够携带大量的运行时信息,这些运行时信息能够验证和访问程序运行时的各种对象。

9)解释执行(Interpreted)

Java的字节码是动态翻译成机器指令的,即边解释边执行,Java与其它解释型语言不同,Java是将.class文件先编译成字节码,然后由JVM对字节码进行解释执行。

10)高性能(High Performance)

Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++,JIT中文意思是即时编译器。

11)多线程(Multithreaded)

Java的多线程特性使得Java程序能够同时执行多项任务,这对于交互响应要求非常高的程序设计是至关重要的。

12)分布式(Distributed)

分布式是一种架构模式,是将模块进行抽取、单独构建、并部署在不同服务器上运行,比如天猫、京东等大型电商平台都是采用分布式架构,使用java可以创建分布式应用程序。

为什么说Java是跨平台的?

使用Java语言编写的程序叫源程序,源程序编译为字节码文件(.class),字节码文件在JVM虚拟机中运行。

JVM虚拟机在不同的系统平台上都提供相应的版本,所以Java程序是可以跨平台运行。

提问-攀博课堂
我要提问 不会就问,有效沟通
关注公众号,加入微信群交流提问。 攀博课堂官方公众号
问答列表,查看本知识点所有问题