Java程序设计基础——初识Java

Java是什么?

Java是一门静态面向对象的解释型编程语言。

发展历程

  • 20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。
  • 由于C++所具有的优势,该项目组的研究人员首先考虑采用C++来编写程序。但对于硬件资源极其匮乏的单片式系统来说,C++程序过于复杂和庞大。另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。为了解决困难,他们首先着眼于语言的开发,假设了一种结构简单、符合嵌入式应用需要的硬件平台体系结构并为其制定了相应的规范,其中就定义了这种硬件平台的二进制机器码指令系统(即后来成为“字节码”的指令系统),以待语言开发成功后,能有半导体芯片生产商开发和生产这种硬件平台。对于新语言的设计,Sun公司研发人员并没有开发一种全新的语言,而是根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。
  • 由于在开发Oak语言时,尚且不存在运行字节码的硬件平台,所以为了在开发时可以对这种语言进行实验研究,他们就在已有的硬件和软件平台基础上,按照自己所指定的规范,用软件建设了一个运行平台,整个系统除了比C++更加简单之外,没有什么大的区别。1992年的夏天,当Oak语言开发成功后,研究者们向硬件生产商进行演示了Green操作系统、Oak的程序设计语言、类库和其硬件,以说服他们使用Oak语言生产硬件芯片,但是,硬件生产商并未对此产生极大的热情。因为他们认为,在所有人对Oak语言还一无所知的情况下,就生产硬件产品的风险实在太大了,所以Oak语言也就因为缺乏硬件的支持而无法进入市场,从而被搁置了下来。
  • 1994年6、7月间,在经历了一场历时三天的讨论之后,团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。他们认为随着Mosaic浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。作为原型,帕特里克·诺顿写了一个小型万维网浏览器WebRunner。
  • 1995年,互联网的蓬勃发展给了Oak机会。业界为了使死板、单调的静态网页能够“灵活”起来,急需一种软件技术来开发一种程序,这种程序可以通过网络传播并且能够跨平台运行。于是,世界各大IT企业为此纷纷投入了大量的人力、物力和财力。这个时候,Sun公司想起了那个被搁置起来很久的Oak,并且重新审视了那个用软件编写的试验平台,由于它是按照嵌入式系统硬件平台体系结构进行编写的,所以非常小,特别适用于网络上的传输系统,而Oak也是一种精简的语言,程序非常小,适合在网络上传输。Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet(Applet是一种将小程序嵌入到网页中进行执行的技术),并将Oak更名为Java(在申请注册商标时,发现Oak已经被人使用了,再想了一系列名字之后,最终,使用了提议者在喝一杯Java咖啡时无意提到的Java词语)。5月23日,Sun公司在Sun world会议上正式发布Java和HotJava浏览器。IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微软等各大公司都纷纷停止了自己的相关开发项目,竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。
  • 1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),标志着Java成为一种独立的开发工具。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。1997年2月,JDK 1.1面世。1998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:J2ME(Java2 Micro Edition,Java2平台的微型版);J2SE(Java 2 Standard Edition,Java 2平台的标准版);J2EE(Java 2Enterprise Edition,Java 2平台的企业版)。Java 2平台的发布标志着Java的应用开始普及。1999年4月27日,HotSpot虚拟机发布。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机。2000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布。2001年9月24日,J2EE1.3发布。2002年2月26日,J2SE1.4发布。2004年9月30日,J2SE1.5发布。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0(内部版本号1.5.0),代号为“Tiger”。2005年6月,在Java One大会上,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,已取消其中的数字2,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。2006年11月13日,Java技术的发明者Sun公司宣布,将Java技术作为免费软件对外发布。Sun公司正式发布的有有关Java平台标准版的第一批源代码,以及Java迷你版的可执行源代码。从2007年3月起,全世界所有的开发人员均可对Java源代码进行修改。2009年,甲骨文公司宣布收购Sun。2010年,Java编程语言的共同创始人之一詹姆斯·高斯林从Oracle公司辞职。2011年,Java7正式发布。2014年,Java8正式发布。2017 年 9 月 22 日,Java 9正式发布。

特征及特点

  • 功能强大、简单易用。
  • 简单性、面向对象、分布式、编译和解释性、稳健(健壮)性、安全性、(平台独立与)可移植性、多线程性、动态性。

工作原理

屏蔽底层运行平台的差别,“一次编译,到处运行”。
当编辑并运行一个Java程序时,需要同时涉及到这四种方面:
(1)Java编程语言
(2)Java类文件格式
(3)Java虚拟机
(4)Java应用程序接口
使用文字编辑软件或集成开发环境在Java源文件中定义不同的类,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。

应用

Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

JDK

Java Development Kit,Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。包括了Java运行环境,一些Java工具和Java的核心类库(Java API)。

JRE

Java Runtime Environment,Java运行环境,支持Java程序运行的标准环境,Java SE API子集和Java虚拟机的统称。
如果只想运行编译好的.class文件,只需要JRE。

Java平台可分为两部分,即Java虚拟机和Java API类库。

JVM

Java Virtual Machine,Java虚拟机,一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。具有指令集并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器。

Java API

Java Application Programming Interface,Java应用程序编程接口,是一些预先定义的函数,提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
运行Java程序时,虚拟机装载程序的class文件所使用的Java API class文件。所有被装载的class文件(包括从应用程序中和从Java API中提取的)和所有已经装载的动态库(包含本地方法)共同组成了在Java虚拟机上运行的整个程序。 在一个平台能够支持Java程序以前,必须在这个特定平台上明确地实现API的功能。为访问主机上的本地资源,Java API调用了本地方法。由于Java API class文件调用了本地方法,Java程序就不需要再调用它们了。

Java SE(J2SE)

Java Standard Edition,Java 标准版,Java2 Standard Edition,Java2标准版,Java平台标准版(Java Platform Standard Edition)的简称,Java程序设计语言和Java平台的总称。包括用于开发Java Web服务的类库。基于JDK和JRE,用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序。适用于桌面系统。

Java EE(J2EE/Jakarta EE)

Java Platform Enterprise Edition,Java平台企业版,开发和部署可移植、健壮、可伸缩且安全的服务器端 Java应用程序。提供Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构和Web3.0应用程序。适用于创建服务器应用程序和服务。

Java ME(J2ME)

Java Platform Micro Edition,Java平台Micro版,是为机顶盒、移动电话和PDA之类嵌入式消费电子设备(移动终端)提供的Java语言平台,包括虚拟机和一系列标准化的Java API。适用于小型设备和智能卡。

包含关系

JDK = JRE + 开发工具集(javac,java,javadoc,javap编译工具等)
JRE = JVM + Java SE标准类库(java核心类库)
J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专有类。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值