第章Java语言概述.ppt
《第章Java语言概述.ppt》由会员分享,可在线阅读,更多相关《第章Java语言概述.ppt(128页珍藏版)》请在三一办公上搜索。
1、第1章 Java语言概述,学习目标 本章要点上机练习 习 题,学习目标,本章介绍Java语言的基本概念,并进一步描述Java的语法、工作原理、运行环境和特点,然后通过示例详细介绍Java的安装,并针对Java应用程序和小应用程序的区别,结合示例做相应的比较。通过本章的学习使读者会对Java有更进一步的认识,从而了解Java语言的前景和方向。,本章要点,Java语言的过去与未来Java的基本体系SDK的安装与配置Java应用程序的开发,Java语言的过去与未来,Java语言是目前流行的一种网络编程语言,它的面向对象、跨平台和分布应用等特点给编程人员带来一种崭新的计算概念,使WWW由最初的单纯提供
2、静态信息发展到现在的提供各种各样的动态服务。,Java语言的过去与未来,Java不仅能够编写嵌入网页中具有声音和动画功能的小应用程序,而且还能够应用于独立的大中型应用程序,其强大的网络功能可以够把整个Internet作为一个统一的运行平台,极大地拓展了传统单机或Client/Server模式应用程序的外延和内涵。,Java语言的过去与未来,Java语言的起源 Java语言的发展前景,Java语言的起源,最早Java语言的出现是源于独立开发平台语言的需要,当时人们希望能编写出嵌入到各种家用电器等设备的芯片上、且易于维护的程序。它的出现是为了弥补当时的编程语言,比如C、C+等只能对特定的CPU芯片
3、进行编译的缺陷。,Java语言的发展前景,在2005年的Java One开发者大会上,James Gosling做了题为“Java技术下一个10年贡献”的演讲,James Gosling认为,Java技术提高了计算的“流动性”,就如同货币的发明提高了商品的流动性一样。,Java语言的发展前景,目前,全球Java开发人员已经超过450万,因此Java社区是一个充满活力和创新精神的团队,这正是Java更加繁荣的保障。为了保持Java的增长和推进Java社区的参与,Sun在Java One开发者大会上宣布开放Java核心源代码,以鼓励更多的人参与到社团活动中来,这是Sun为推进社团发展和维护Java
4、技术兼容性而迈出的重要一步,同时也是Java技术在创新和社会进步上继续发挥重要作用的标志。,Java语言的发展前景,随着Java的开源,在未来的十年里,Java的应用范围将变得更广。数字媒体将是Java的下一个目标,同时,Java将教育和健康作为未来Java发展过程中的两大重点应用领域。,Java的基本体系,Java作为一种高级编程语言,与其他语言相比具有一些独特的结构和方法,下面将对这些内容作一个详细的介绍。Java的语法 Java的工作原理 Java的运行环境 Java语言的特点,Java的语法,Java是面向对象的程序设计语言,其基本语法和C语言大致相同。从一定角度上讲,C语言加上面向对
5、象功能就是C+,那么Java与C+有什么区别呢?简要的说,Java改进了C+的一些缺点,并增加了一些新的功能,从而变得比C+更加简单、易学,编写出来的程序也更具健壮性。,Java的语法,下面就对它们进行一个简单的比较。ava去掉了C语言的指针。如指针使用得当,对增强程序的功能有很大帮助,一旦使用不当,经常会导致死机。,Java的语法,Java没有了C语言中的预处理器,如#ifdef、#define、常量声明等都不使用了,当然也少了#include命令,从而也没有头文件(.h文件)。和C+相比,Java不支持多继承的概念,目的是为了避免对象和对象之间的关系复杂化。,Java的语法,Java增加了
6、垃圾回收机制、异常处理和新的限定词等功能。这些几乎全部都是基于整个系统和程序本身安全性的考虑。不论在何种平台上,Java基本数据类型的大小是不变的。,Java的工作原理,Java语言引入了Java虚拟机,具有跨平台运行的功能,能够很好地适应各种Web应用。同时,为了提高Java语言的性能和健壮性等特点,还引入了如垃圾回收机制等新功能,通过这些改进让Java具有其独特的工作原理。,Java的工作原理,Java虚拟机无用内存自动回收机制 代码安全性检查机制,Java虚拟机,Java虚拟机(Java Virtual Machine,简称JVM)是软件模拟的计算机,它可以在任何处理器上安全兼容地执行保
7、存在.class文件中的字节码。Java虚拟机的“机器码”保存在.class文件中,有时也可以称之为字节码文件。,Java虚拟机,Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。应此在运行时,Java源程序需要通过编译器编译成为.class文件。,Java虚拟机,Java虚拟机的建立需要针对不同的软硬件平台来实现,既要考虑处理器的型号,也要考虑操作系统的种类。由此在SPARC结构、X86结构、MIPS和PPC等嵌入式处理芯片上,在UNIX、Linux、windows和
8、部分实时操作系统上都可实现Java虚拟机。,无用内存自动回收机制,在程序的执行过程中,部分内存在使用过后就处于废弃状态,如果不及时进行回收,很大可能会导致内存泄漏,进而引发系统崩溃。,无用内存自动回收机制,在C+语言中是由程序员进行内存回收的,程序员需要在编写程序时把不再使用的对象内存释放掉,这种人为管理内存释放的方法往往由于程序员的疏忽而致使内存无法回收,同时也增加了程序员的工作量。,代码安全性检查机制,安全和方便总是相对矛盾的。Java编程语言的出现使得客户端电脑可以方便地从网络上传或下载Java程序到本地电脑上运行,但是如何保证该Java程序不携带病毒或者没有其他危险目的呢?,代码安全性
9、检查机制,为了确保Java程序执行的安全性,Java语言通过applet程序来控制非法程序的安全性,也就是有了它才确保Java语言的生存。,代码安全性检查机制,Java字节码的执行需要经过3个步骤,具体操作步骤如下:(1)由类装载器(class loader)负责把类文件(.class文件)加载到Java虚拟机中,在此过程需要检验该类文件是否符合类文件规范。,代码安全性检查机制,(2)字节码校验器(bytecode verifier)检查该类文件的代码中是否存在着某些非法操作,例如applet程序中写本地电脑文件系统的操作。(3)如果字节码校验器检验通过,由Java解释器负责把该类文件解释成为
10、机器码进行执行。,Java的运行环境,无论哪种语言都需要有它特定的运行环境也就是平台,Java语言同样不例外,但是如何理解Java程序硬件环境无关呢?几乎所有的语言都需要通过编译或者解释才可以被电脑执行,但是Java有一点不同,它同时需要这两个过程。,Java的运行环境,其实,也正是因为这个原因才使Java这种语言具有了平台无关性。当完成一个Java源程序后,首先,通过Java翻译程序将它编译成一种叫做字节码的中间代码,然后再由Java平台的解释器将它转换成为机器语言来执行一平台的核心就是JVM。,Java的运行环境,Java的编译过程与其他的语言不同,像C+这样的语言,在编译时,它与电脑的硬
11、件平台信息密不可分的。编译程序通过查表将所有指令的操作数和操作码等转换成内存的偏移量,即程序运行时的内存分配方式,目的是保证程序正常运行。,Java的运行环境,Java平台具有这样的特性和它的结构有关。通常一个程序运行的平台是一个硬件或者软件运行的环境,目前比较流行的是Windows 2000,Linux,Solaris,和MacOS。Java的平台不太一样,它由两个部分组成即JVM和应用程序设计接口。,Java的运行环境,JVM Java应用程序设计接口,JVM,JVM是Java平台的核心,为了让编译产生的字节码能更好的解释与执行,因此把JVM分成了6个部分:JVM解释器、指令系统、寄存器、
12、栈、存储区和碎片回收区。JVM解释器:即这个虚拟机处理字段码的CPU。,JVM,JVM指令系统:该系统与电脑很相似,一条指令分成操作码和操作数两部分组成。操作码为8位二进制数,主要是为了说明一条指令的功能,操作数可以根据需要而定,JVM有多达256种不同的操作指令。,JVM,寄存器:JVM有自己的虚拟寄存器,这样就可以快速地与JVM的解释器进行数据交换。为了功能的需要,JVM设置了4个常用的32位寄存器:pc(程序计数器)、optop(操作数栈顶指针)、frame(当前执行环境指针)和vars(指向当前执行环境中第一个局部变量的指针)。,JVM,VM栈:指令执行时数据和信息存储的场所和控制中心
13、,它提供给JVM解释器运算所需要的信息。存储区:JVM存储区就是用于存储编译过后的字节码等信息。,JVM,碎片回收区:JVM碎片回收是指将使用过的Java类的具体实例从内存进行回收,这就使得开发人员免去了自己编程控制内存的麻烦和危险。随着JVM的不断升级,其碎片回收的技术和算法也更加合理。,Java应用程序设计接口,Java Application Programming Interface,简称Java API,其中文名为Java应用程序设计接口,它是一个软件集合,其中有许多开发时所需要的控件,用它来辅助开发。,Java应用程序设计接口,Java API和JVM构成了Java运行的基本的环境
14、,这两种软件整合在一起处于电脑之上,通过这两种软件,Java平台把一个Java应用程序从硬件系统分离开,从而很好地保证了程序的独立性。,Java语言的特点,Java语言作为目前使用最为广泛的网络编程语言之一,它具有简单、面向对象、稳定、与平台无关、解释型、多线程和动态等特点。简单 面向对象 与平台无关,Java语言的特点,解释型 多线程 动态性 安全性 可移植性 高性能,简单,如果学习过C+,会感觉Java非常类似,因为Java中许多基本语句的语法和C+几乎一样。但是Java并不是C+的增强版,Java和C+是两门不同类型的电脑语言,它们各有各的优势,将会长期并存下去。目前Java和C+已成为
15、软件开发者应当掌握的语言之一。,面向对象,面向对象是指把软件组成一系列合并了数据结构和行为的对象。面向对象的程序更符合人的思维模式,更容易编写。,与平台无关,与平台无关是Java语言最大的优势。其他语言编写的程序面临的一个主要问题是操作系统的变化,处理器升级以及核心系统资源的变化,都可能导致程序出现错误或者无法运行。Java虚拟机成功地解决了这个问题,Java编写的程序可以在任何安装了JVM的电脑上正确运行,可以说“一次写成,处处运行”。,解释型,C、C+等语言,都是只能对特定的CPU芯片进行编译。生成机器代码,该代码的运行就和特定的CPU有关。,解释型,Java不针对特定的CPU芯片进行编译
16、,而是把程序编译为字节码,字节码很接近机器码,可以在提供了JVM的任何系统上被解释执行。因为不针对某类电脑,所以不会出现C语言中的类似问题。,多线程,支持内置的多线程也Java的其特点之一,多线程允许同时完成多个任务。目前的单核计算机处理器在同一时刻只能执行一个线程,但处理器可以在不同的线程之间快速地切换,由于处理器速度非常快,远远超过了人接收信息的速度,所以给人的感觉好象是多个任务在同时执行。,多线程,C+没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行程序设计。,动态性,Java程序的基本组成单元是类。有些类是用户编写的,有些是从类库中调用,而类又是程序运行时动态装载的,这就使
17、得Java可以在分布环境中动态地维护程序及类库,而不像C+那样,每当其类库升级之后,相应的程序都必须重新修改和编译。,安全性,Java语言在编译及运行程序时,都要进行严格的检查。作为一种强制类型语言,Java在编译和连接时都需进行大量的类型检查,防止不匹配问题的发生。如果引用一个非法类型、或执行一个非法类型操作,Java将在解释时指出该错误。,安全性,在Java程序中没有采用地址计算的方法来实现指针访问内存单元,大大减少了错误发生的可能性,而且Java的数组也不使用指针实现,这样就可以在检查中避免数组越界的发生。还有无用内存自动回收机制也增加了Java的可靠性。,安全性,另一方面,作为网络语言
18、,Java必须提供足够的安全保障,并且要防止病毒的侵袭。当从网络上下载一个程序时,我们担心是程序中含有恶意的代码,甚至该程序是一个病毒程序等。,安全性,当使用支持Java的浏览器时,可以放心地运行Java的小应用程序(Java Applet),不必担心病毒的感染和恶意的企图。Java小应用程序将被限制在Java运行环境中,不允许它访问计算机的其他部分。,可移植性,网络上充满了各种不同类型的机器和操作系统,为使Java程序能在网络的任何地方运行,Java编译器编译生成了与体系结构无关的字节码结构文件格式。,可移植性,任何种类的计算机,只有在其处理器和操作系统上有Java运行时的运行环境,字节码文
19、件就可以在该计算机上运行。即使是在单一系统的计算机上也可以运行。,可移植性,Java体系结构的中立也使得它具有可移植性。Java运行时系统可以移植到不同的处理器和操作系统上,Java的编译器是由Java语言实现的,解释器是由Java语言和标准C语言实现的,因此可以较为方便地进行移植。,高性能,Java是具有非常高的性能,在一些特定的CPU上,Java字节码可以快速地转换成为机器码进行执行,而且Java字节码格式的设计就是针对机器码的转换,它的转换过程相当简便,自动的寄存器分配与编译器对字节码的一些优化可使其生成高质量的代码。,Java程序的运行,Sun公司最早推出的Java开发环境称为Java
20、开发工具包(Java Development Kit,简称JDK),主要用于构建在Java平台上运行的应用程序、小应用程序和组件等。,Java程序的运行,经过发展,从JDK 1.2.1版本起,将JDK 1.2更名为J2SDK(Java 2 Platform Standard Edition Software Development Kit),这个软件开发工具包通常是为了开发某一个方面的程序软件而设计的,由厂商提供的集成封装的库(library),通用性更强。本书的所有程序都使用J2SDK1.4.2编译运行。,Java程序的运行,SDK的安装与配置Java程序的开发过程 Java开发工具简介 J
21、ava应用程序和Java小应用程序的开发,SDK的安装与配置,学习Java需要有一个程序的开发环境,目前有许多Java程序开发环境可用,比如Sun、Borland、Sysmantec公司的JBuild等,但学Java最好选用Sun公司推出的软件开发工具箱SDK,下面将以J2SDK 为例讲解SDK的安装与配置的方法。,SDK的安装与配置,SDK的安装 SDK的配置,SDK的安装,下面介绍Sun公司发布的J2SDK的1.4.2版本的安装全过程。,SDK的配置,安装完成需要配置SDK环境变量,从而可以对编辑的Java程序进行编译。如果想运行其他用户的Java程序,可以只安装Java运行环境JRE,J
22、RE由Java虚拟机、Java的核心类,以及一些支持文件组成,可以登陆Sun的网站免费下载Java的JRE。,Java程序的开发过程,在开始编写Java程序之前,首先应该熟悉它的开发过程。编写Java源文件 编译Java源程序 运行Java程序,Java程序的开发过程,编写Java源文件,使用文本编辑器,如Edit或记事本来编写源文件,但是要注意,因Word编辑器含有不可见字,符所以不可使用。编写完成后的源文件应以.Java为扩展名保存起来。,编译Java源程序,使用Java编译器(javac.exe)编译源文件,可得到字节码文件。,运行Java程序,Java程序分为两类Java应用程序App
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言 概述
链接地址:https://www.31ppt.com/p-5284100.html