如果对本文有更好的建议,请联系助教,我们表示非常感谢。
目录
你知道Java是谁发明的吗?那就是曾经辉煌的Sun公司,现在它已经被Oracle甲骨文公司收购。
Java经过20多年的发展,在各个方面已经十分成熟,并在各个领域都大显身手。
Java项目能过做到一次编译到处运行,这是它独特的优势。
当你拿到这本书的时候,有没有想过,我为何要学习Java呢?
Java广受大企业单位和程序员的追捧和喜爱。根据TIOBE公布的历年编程语言排行榜,Java一直是王者,经常和C系列编程语言一起霸占前三名。
数据来自:https://www.tiobe.com/tiobe-index/
应用领域十分广泛。在手机应用软件、Web服务器等等领域,Java可谓是大显身手。像阿里巴巴、淘宝、京东等大型网站,他们大部分功能使用了Java语言开发。大型企业级的应用软件,比如CRM、ERP等业务管理系统也是使用Java开发的。还有比较流行主流的大数据框架Hadoop的也是主要用Java开发的。总之,Java在各个领域都有很深的耕耘。
Java学习比较简单。它是面向对象的编程语言,是在现实物理世界的基础上进行的抽象表达,比较容易理解。Java的编程工具包JDK(Java Development Kit)提供了特别丰富的接口,也就是说,要想完成一个功能,通常不需要关心太多底层实现,你只需要调用这个接口即可。
备注:编程工具包JDK,Java Development Kit,是Java开发时必备的工具,有非常丰富的功能。
20世纪90年代,硬件领域出现了单片式计算机系统,这种系统有两个优点,一是价格很低,二是提高了消费类电子产品的智能化程度,比如让电视机顶盒、面包烤箱、移动电话等产品更加智能,这使得此类产品在当时受到了广大消费者的喜爱和追捧。1991年,Sun公司为了抢占这片蓝海市场,专门成立了Green项目小组,主要成员有詹姆斯·高斯林、帕特里克、麦克·舍林丹等,他们的任务是发明一种计算机语言,使Sun公司可以在智能化市场可以分一杯羹。
Green项目小组对C++进行了改造,1992年成功开发出一种叫做Oak的面向对象语言。但是,当时大量的硬件生产商对Oak是一无所知的,不敢冒然地让自己的硬件设备使用Oak这个新兴的语言。所以,Oak也就因为缺乏硬件的支持而无法进入市场,从而被搁置了下来。
俗话说:功夫不负有心人。时间走到1995年,互联网的蓬勃发展给了Oak带来了机遇。Sun公司在Oak基础上,首先推出了可随网页在网络上传输的Applet,Applet可以让网页和用户进行交互,并实现图形绘制、字体和颜色控制、动画和声音的插入、人机交互、网络交流等等功能,这样的网页更加丰富多彩,在当时成为主流。从此,Sun公司决定大力发展Oak。但在申请注册商标时,发现Oak已经被人使用了,再想了一系列名字之后,最终,使用了提议者在喝一杯Java咖啡时无意提到的Java词语,并将Oak更名为Java。
同年,1995年5月23日,Sun公司在Sun world会议上正式发布Java。
- Java的版本发展
1996年1月,Sun公司发布了Java的第一个开发工具包JDK 1.0,这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具,开发者可以在JDK的基础上开发自己想要的功能。
Java语言的版本迭代,是以封装成JDK进行整体迭代发布的,JDK包括Java语言本身和已经实现的众多功能接口,这些接口是供开发人员使用的。
随后Java进入快速发展,1997年发布JDK1.1,1998年发布JDK1.2,2000年发布JDK1.3,2002年发布JDK1.4。
2004年,Sun公司对JDK进行了大更新,发布了JDK5,2006年发布了JDK6。
2009年甲骨文公司收购了Sun公司。
2011年发布了JDK7,2014年发布了JDK8。JDK8是目前企业使用最广泛的版本。
而2017年9月的JDK9和2018年3月的JDK10是属于过度性的版本。截止到2021年5月,最新版本是Java16。
Green项目小组成员詹姆斯·高斯林博士(James Gosling)是Java编程语言的共同创始人之一,一般公认他为“Java之父”。
- Java的三个版本
Java具有三个版本,分别是Java SE、Java EE、Java ME。
Java SE,Java Platform Standard Edition,标准版,是为开发普通桌面和商务应用程序提供的解决方案版本。Java SE是三个版本中核心的部分,Java EE和Java ME都是从 Java SE的基础上发展而来的。
Java EE,Java Platform Enterprise Edition,企业版,是为开发企业级应用程序提供的解决方案版本,定位在服务器端的应用。主要包括 Servlet、JSP、 JavaBean、JDBC、EJB、Web等技术。
Java ME, Java Platform Micro Edition,微型版,是为开发电子消费产品和嵌入式设备提供的解决方案版本。主要为家用电器增加智能化控制和联网功能,为手机增加新的游戏和通讯录管理功能。此外,JavaME提供了HTTP等高级Internet协议,使移动电话能以Client/Server方式直接访问 Internet的全部信息,提供最高效率的无线交流。
- Java的跨平台原理
Java具有跨平台的特性,可以“一次编译,到处运行。”比如,在Windows下编写的程序,无需任何修改就可以在Linux下运行。这里“到处”说的是任意平台,平台是CPU和操作系统的结合体,在平时,大家更偏好于操作系统就是平台。
Java的跨平台是如何实现的呢?
举个生活中的例子,比如“小明”就是编译好的Java项目,世界上的国家就是平台,那么如何做到“到处运行”,也就是说“小明”在任意国家畅通无阻。我们可以给小明配置翻译官,在英语国家给他配一个英语翻译官,在俄语国家给他配一个俄语翻译官。这儿的翻译官在Java中指的是Java虚拟机(Java Virtual Machine,简称 JVM),它是用软件虚构出来的一个计算机,如同上边的两个翻译官,JVM在不同的平台有着不同的版本。
- JRE与JDK
JVM、核心类库组成了JRE(Java Runtime Environment,Java运行时环境),也就是说运行一个Java编译好的项目,有JRE就够了。JRE并不是一个开发环境,所以没有包含任何开发工具。
图片来自:https://docs.oracle.com/javase/8/docs/
JRE、Java开发工具、基础类库组成了JDK(Java Development Kit,Java的软件开发工具包),JDK是给开发者使用的,也是我们学习研究Java经常接触的。
Sun公司于1995年发布了Java编程语言。
JDK8是目前企业使用最广泛的版本。
詹姆斯·高斯林博士被公认为“Java之父”。
Java具有Java SE、Java EE、Java ME三个版本,我们学习以Java EE为主。
JVM机制使得Java可以做到“一次编译,到处运行。”
JRE是Java运行时环境,JDK是面向开发者的Java的软件开发工具包。
思考一:我们为何学习Java?
思考二:Sun公司为何发明了Java?
思考三:既然最新的JDK版本是16,那为何JDK8在目前企业中使用的最广泛?
思考四:Java是如何做到“一次编译,到处运行”的?
思考五:JRE是什么,JDK是什么,有何区别?
思考六:Java和C++是什么关系?
作业一:常用的开发Java语言的软件平台IDE(集成开发环境)有哪些?