深入显出谈Java的发展历程及语言特点

本文首先认识一下Java语言的创始人詹姆斯高斯林,然后再谈谈Java语言的发展轨迹和语言特点,最后说一说为什么要学习Java语言。

Java语言的创始人詹姆斯高斯林

                                       

 

                                                                           詹姆斯高斯林

图中这个和蔼和亲大叔就是詹姆斯高斯林,被人称为Java之父。他将JAVA语言比喻成:奉献给世人一杯热气腾腾、芬香四溢的咖啡。Java的Log也是一杯冒着热气的咖啡。咖啡是世界上比较流行的饮料,詹姆斯将JAVA语言比喻为一杯咖啡,可见他对JAVA语言将会流行世界是多么的自信。

 

Java语言的发展轨迹

Java语言由Sun公司的詹姆斯高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak。Java随着互联网技术的应用得到了快速发展,逐渐成为重要的网络编程语言。Java从第一个版本发布到现在已经有28年的时间了,下图回顾了Java的发展轨迹和历史变迁。

 

                                                                     Java发展时间线

Java语言诞生于1994年,但可以溯源到1991年。1991年,在Sun公司工作的詹姆斯受命组织团队开发一个叫Oak的项目,目标设定在家用电器等小型系統的编程语言,來解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题,由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。就在Oak几近失败之时。在1994年詹姆斯高斯林等人决定将该技术应用于互联网,将该语言改造为网络编程语言,这个语言就是Java语言的前身。

 

 

1991年詹姆斯受命组织开发OaK项目

语言改造后,OaK语言在互联网上得到很大的应用和发展,从一个默默无闻的小人物,突然变成了一个家喻户晓的大人物,而这时,发生了一件事情,促使詹姆斯对OaK语言改名。原来OaK名称已被一家显卡制造商注册,Oak这个名字不能再用了,詹姆斯于是在1995年将OaK更名为Java。

1996年是Java语言里程碑的一年,在这一年,Java开发人员熟悉的JDK 1.0发布了,Java语言有了第一个正式版本的运行环境。JDK 1.0版本包括Java虚拟机、网页应用小程序,可以嵌套在网页中运行,用户界面组件,通过用户界面组件可以开发窗口应用程序。

 

 

 

1996年JDK1.0发布

1998年,对Java语言来说,又是一个里程碑。Java正式发布了J2SE 1.2,在这个版本中,Java技术体系拆分为3个方向,分别是面向桌面应用开发的J2SE、面向企业级开发的J2EE和面向手机等移动终端开发的J2ME。

 

2006年,对java来说,发生了两件大事。第一件大事是Sun公司宣布将Java代码开源,代码开源意味者Java开发者可以查看Java核心代码,了解JDK核心架构。第二件大事终结了从JDK 1.2开始已经有8年历史的J2EE、J2SE、J2ME的命名方式,启用Java SE 6、Java EE 6、Java ME 6的命名方式。

 

2006年Java代码开源

2017年,Orcle公司正式发布了Java SE9版,为什么是Orcale公司,而不是Sun公司呢,因为Sun公司在2009年被Orcale以74亿美元的价格收购了。

 

Java语言的特点

Java语言是世界上用的最多的编程语言,它是如何吸引了众多的开发者,同其它语言相比,它有哪些特点呢?

(1)平台无关性

Java语言的一个显著特点就是平台的无关性,即Java是可以跨平台的编程语言。要理解平台无关性的特点,首先要知道什么是平台,打开电脑我们用Windows系统,打开手机我们用安卓系统、再高深一点的大型网站用到的Linux系统,这些系统都是平台。平台无关性的意思就是用Java语言写的程序可以在任何平台上运行,如windows系统、安卓系统、Linux系统上运行。那么java是如何实现跨平台运行的呢?下图给出了Java程序从编写、编译到运行的过程流程图,从图中可以找到java跨平台的原理。

 

Java平台无关性原理

我们用记事本、Eclipse等工具写好Java程序后,使用Java编译器将写好的Java代码文件编译成中间文件,中间文件的扩展名是class,当我们需要class文件在Windows系统上运行时,还得需要在Windows系统上安装一个Java虚拟机,由Java虚拟机解释class文件,并翻译成Windows运行代码。同样,如果我们需要class文件在Linux系统上运行,就需要在Linux系统上安装Java虚拟机,由Java虚拟机解释class文件,并翻译成Linux运行代码。在其它系统上也是如此。

(2)面向对象

Java是面向对象的语言,什么是面向对象呢?面向对象主要是针对面向过程开发来说的。

假如我们要开发一个学生管理系统,用面向过程来开发的话,可能会考虑该系统主要有哪些功能以及数据,功能可能包括学生信息、查询成绩、安排课程等;数据可能包括学生信息、课程信息,并通过数组、链表等数据结构来存储和组织这些数据。功能和数据确定后,通过编写函数实现功能并操作数据,其函数和数据是分离的。当系统的数据改变时,如在学生信息中增加学生的家庭信息,面向过程开发的麻烦就来了,得需要修改大量代码以适应数据的改变。

用面向对象来开发的话,可以把对象想象成现实世界中的事物,如人、动物、楼房、树木等。事物有属性和行为,例如人有姓名、年龄、性别等属性,也有跑步、骑自行车、吃饭等行为。如果要编写一个关于人的系统,可以把人的属性和行为看作一个整体并封装为一个Java类,这就是面向对象开发的概念。

用对象来考虑学生管理系统,自然会考虑到该系统由老师、学生、课程等对象组成。老师有姓名、专业、授课课程、所教班级、上课时间等属性,也有上课、查询和录入学生信息等行为;学生有学号、姓名、出生年月、所在班级等属性,也有查询成绩、查询课程等行为;课程有课程名称、课程编号、授课老师等属性,也有课程安排等行为。

面向对象把数据(对象属性)和功能(行为)封装到一个对象中,所有对数据(对象属性)的操作都封装在对象中,较好实现了数据封闭型原则。当数据(对象属性)改变时,不会影响到其它代码,易于系统的扩展和维护。而且,面向对象更接近于人的思维。

 

(3)内存的自动管理

学过C语言开发的人,对内存的管理都很头痛。用Java语言可以不用考虑内存了。在生活中,我们希望有个袋子可以无限地装东西。在Java编程中,可以把内存看成袋子,不用担心袋子装不下东西,不用整理袋子,Java会自动整理,大大提高了我们的编程效率。

 

                                              内存的自动管理

 

学习Java语言的前景

对开发者来说,选择一门语言来学习,其实也要下很大决心的,毕竟要付出不少精力。在众多编程语言中,为什么要学习Java呢?

(1)世界上最受程序员欢迎的编程语言

Java语言从出现到今天,已经发展了28年。在这28年中,产生了无数和Java相关的产品、技术和标准,众多的开源框架和组件给Java程序员提供了标准积木,用于快速构建大型企业应用项目。

(2)企业最热衷的编程语言

因为Java易学、安全性,可移植、跨平台等特点,并且提供了大量开源框架和组件,易于构建大型企业应用项目。因此政府组织、机构及大型企业都青睐于用Java开发信息系统,企业用人需求量巨大。

(3)学习Java高薪没有问题

学会java,不但容易找到工作,钱赚的也多。Java工程师是世界上软件工程师需求量最大的,尤其是Java高级工程师,年薪平均在25W-50W之间,Java架构师薪资在80W起,选择Java,高薪没问题!(来自培训班宣传广告)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值