【Java 基础教程】

Java是编程语言和平台。 Java是一种高级,健壮,面向对象和安全的编程语言。 Java由Sun Microsystems (现为Oracle的子公司)于1995年开发。 James Gosling 被称为Java之父。在Java之前,它的名称是Oak 。由于Oak已经是一家注册公司,因此James Gosling和他的团队将Oak名称更改为Java。平台: 运行程序的任何硬件或软件环境都是已知的作为平台。由于Java具有运行时环境(JRE)和API,因此称为平台。

开始阅读

概要

Java是一门面向对象的编程语言,因为在C++基础上改进而来,所以继承了C++的优点,同时摒弃了C++中指针等难以理解的概念。因此Java具有上手简单功能强大的特点。在桌面应用程序、Web应用程序、分布式系统的开发中都有它的身影。

Java的诞生

1991年初,美国Sun Microsystem公司(以下简称Sun公司)成立了一个以James Gosling为主的名为“Green”的研发小组,该小组的目标是开发一个面向家用电器市场的软件产品,实现对家用电器的集成控制。因为产品须在任何CPU上都可运行,所以必须具有平台独立性;为此Gosling开始着手对C++编译器进行改进,随着改进的进行,小组发现C++无法满足简洁性和安全性的需求;于是Gosling和他的小组决定着手开发一种新的编程语言,将其命名为Oak(橡树)。2

然而“Green”小组的努力并未使Oak在软件市场掀起波澜,由于项目未给公司带来收益,Oak面临夭折的危险。到了1995年Internet的迅速发展给这个项目带来了希望,当时人们急需一种可以在不同平台都可运行的编程语言,“Green”小组开始着手用Oak开发HotJava浏览器,由于版权问题,Oak改名为Java,小组希望这种编程语言像爪哇岛咖啡一样全球知名,Java的Logo也设计成了一杯热气腾腾的咖啡的样子。1995年5月产品正式发布,同年受到工业界的广泛好评。如今Java已成为最流行的编程语言之一。

Java版本年表

1995年,初代Java诞生

1996年1月,JDK 1.0

1997年2月,JDK 1.1

1998年12月,Java 2,JDK 1.2

1999年,Java向三个平台推出自己的产品。

桌面应用平台:Java 2 SE标准版

网络应用平台:Java 2 EE企业版

手机应用平台:Java 2 ME微型版

2000年5月,Java 3,JDK 1.3

2001年,Java EE 1.3

2002年2月,Java 4,JDK 1.4

2004年9月,Java 5,JDK 1.5

2005年,Sun公司将三个平台的产品改名为:Java SE、Java EE、Java ME

2006年12月,Java 6,JDK 1.6

2009年4月,Sun公司被Oracle公司收购

2011年7月,Java 7,JDK 1.7

2014年3月,Java 8,JDK 1.84

2017年9月,Java 9, JDK 1.9

2018年3月,Java 10, JDK 10

2018年9月,Java 11,JDK 11(长期支持版LTS)

2019年3月,Java 12,JDK12

2019年9月,Java 13,JDK13

2020年3月,Java 14,JDK14

2020年9月,Java 15,JDK15

2021年3月,Java 16,JDK16

2021年9月,Java 17,JDK17(长期支持版LTS)5

2022年3月,Java 18,JDK18

语言特点

  • 简单性

在Gosling和他的小组对C++编译器进行改编的时候,摒弃了C++中容易引发程序错误或威胁程序正常运行的指针,简化了内存管理和文件管理,加入了自动内存垃圾搜集机制。但是Java的简单性却会增加运行时系统的复杂性,以内存管理为例,Java程序在运行时需内嵌一个内存管理模块。10

  • 面向对象

Java语言是只面向对象的,程序就是对象的集合,对象又拥有特定的类型。它的设计集中于对象及其接口,增强了Java代码复用、程序的模块化程度、以简单性的表现形式构建复杂的程序体系。11

  • 可移植性(平台无关性)

Java为了满足不同平台都可以运行的要求,做了以下三点的改进:

一、Java即为编译型语言,又为解释型语言。Java拥有Java虚拟机(JVM)在不同平台只需要面向JVM生成JVM所理解的字节码代码即可。

二、Java采用了基于国际标准——IEEE标准的数据类型,使其在任何平台的大小都是一致的,保证了其自身的平台独立性。

三、Java编译器由Java语言编写,并遵循POSIX(可移植操作系统接口)标准,使得Java在不同平台都能保持稳定的运行。12

  • 高性能

一般来说,可移植性、安全性、稳定性是以牺牲执行效率或性能为代价,而Java用以下三种措施来保证性能与执行效率:

一、拥有高效的字节码。Java解释器解释执行后产生的高效的机器码,经编译器生成的字节码可媲美机器码的执行效率。

二、支持多线程。线程是比进程还小一级的单位,Java可以利用系统空闲时间执行必要的垃圾清除和一般性的系统维护等操作;拥有多线程编程接口,为编程人员提供高效运行的选择。

三、支持及时编译和嵌入C代码。Java为保证可移植性会将字节码在运行时编译为机器码。嵌入C代码对运行速度会有所提升,但牺牲了一部分代码的可移植性。13

  • 分布式

Java是面向网络的编程语言,容易建立网络连接将数据分散存放于不同的主机之中;同时拥有客户机/服务器模式的Java可以将计算从服务器分布到客户端提升系统的运行效率。14