收藏 分享(赏)

Java概述.ppt

上传人:hwpkd79526 文档编号:8386637 上传时间:2019-06-23 格式:PPT 页数:32 大小:306KB
下载 相关 举报
Java概述.ppt_第1页
第1页 / 共32页
Java概述.ppt_第2页
第2页 / 共32页
Java概述.ppt_第3页
第3页 / 共32页
Java概述.ppt_第4页
第4页 / 共32页
Java概述.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、Java 语 言 概 述,在本单元要学习的知识点 程序设计语言和Java起源 什么是Jdk,Jre; 什么是Java2及其主要版本; Java2的主要应用领域; Java语言特点 开发方式及 Java编译、解释执行等。 Java如何实现“平台无关”,Java 语 言 概 述,软件的基本组成部分是完成其功能的程序。 程序设计语言(也被称为“编程语言”,Programming Language)是人们编制程序所使用的语言。 程序描述了计算机处理数据、解决问题的过程,这是程序的实质。但程序的描述形式却可以是多种多样的,可以用不同的方式表述不同的程序设计语言。,程序设计语言,Java 语 言 概 述,

2、程序设计语言的种类:机器语言:机器指令,直接执行汇编语言:符号化,汇编器(Assembler)高级程序设计语言(编译型)高级程序设计语言(解释型),程序设计语言,Java 语 言 概 述,高级语言中用于描述计算的结构采用类似于数学中代数运算公式的形式,这种结构被称为“表达式”。程序中基本的动作单位被称为“语句”,不同的语句实现不同的功能。用高级语言书写的程序不可能直接地在计算机上执行,要在计算机上执行高级语言书写的程序,有两种基本方法:编译(Compilation)执行:这种方法是设法把高级语言程序(也称为“源程序”)转换成为机器语言的可以由计算机直接执行的程序,即转变为“可执行(Execut

3、able)程序” 。“解释”(Interpretation)执行:这种方法是即时把源程序转换为机器可执行的指令。有时为了提高效率,也可以先编译成一种中间代码。,高级程序设计语言,Java 语 言 概 述,对于“编译执行”方式,人们实现了高级语言“编译器”(Compiler)完成这种转换工作。编译器把高级语言程序看成是符合一定语法结构的符号串,对它进行加工变换。编译器对源程序的加工一般分为两个阶段:源程序首先被翻译成机器语言,这种翻译结果称为“目标码”(object code),目标码构成的程序片段称为目标模块。第二步,这些目标模块被与其他一些基本模块(由编译软件提供)连接在一起,最终形成“可执

4、行程序”(executable program),这样的程序就可以在计算机上实际运行了。 第一个加工步骤称为“编译”(compiling),第二个步骤称为“连接”(linking)。,高级程序设计语言,Java 语 言 概 述,高级程序设计语言,Java 语 言 概 述,对于“解释执行” 方式,人们实现了一种称为“解释器”(Interpreter)的软件来完成转换工作。解释器在工作方式上与编译器不同,它不对源程序进行翻译,而是直接对源程序的语句进行分析和解释,实现源程序所描述的功能。,高级程序设计语言,Java 语 言 概 述,高级语言写出的程序是独立于任何具体的计算机的。但是“编译器”和“解

5、释器”则是与机器相关的。同一种语言,对于不同的机器,需要不同的“编译器”和“解释器”。 人们已经开发出了许多不同的高级程序设计语言,不同的语言有各自不同的规范,因此需要专门的“编译器”和“解释器”。,高级程序设计语言,Java 语 言 概 述,Java是一种解释型的、面向对象的编程语言。 历史:1991年,SUN MicroSystem公司的Jame Gosling、Bill Joe等人为在电视、控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件。 Oak Java:互联网给Java带来新的生机 1995年Sun向公众推出Java并引起业界的轰动 发展:面向网络应用,类库

6、不断丰富,性能不断提高,应用领域不断拓展。(1995年以来) 应用:Java是当今最流行的软件开发语言之一,Sun推出了 Java2 & J2EE使Java具有更广泛的用途,适用于各种应用开发,尤其是网络应用,网络服务,嵌入式系统等。,Java的起源,Java 语 言 概 述,1998年12月sun公司发布java1.2版本从此之后java更名为java2java1现在已经很少用到 目前我们用到的是java2版本的1.5版本为什么不用java2的1.6版本?,Java的起源,Java 语 言 概 述,Jdkjdk指java develop kit即 java开发工具包 Jrejre指java

7、runtime environment即java运行时环境,通常已经包含在j2sdk(java2 software develop kit)中了如果我们仅仅是为了运行java程序,而不是开发 java项目,只需安装jre即可,什么是Jdk Jre,Java 语 言 概 述,J2ME(Java2 Micro Edition),针对嵌入式技术 。 J2SE(Java2 Standard Edition),针对桌面计算机开发(主要有Java Applet-网页中内嵌的小程序及Java Application-应用程序); J2EE(Java2 Enterprise Edition),针对企业级的应用

8、解决方案(主要有JDBC CORBA EJB JavaServlets JSP以及对XML的支持),Java2的主要版本,Java 语 言 概 述,J2ME(Java2 Micro Edition),主要应用于手持设备的开发,如:手机, PDA等;例:手持设备里的小游戏和名片管理程序等等; J2SE(Java2 Standard Edition),开发桌面程序和小应用程序的开发;例:QQ聊天系统 五子棋游戏等等; J2EE(Java2 Enterprise Edition),企业级的应用开发例:大型商务网站 税务局的网上报税系统等等;,Java2的应用领域,Java 语 言 概 述,Java语

9、言是简单的、面向对象的、分布式的、解释性的、健壮的、安全的、与平台无关的、可移植的、高性能的、多线程的和动态的语言。A simple,object-oriented,distributed,interpreted,robust,secure,architecture-neutral,portable,high-performance,multi-threaded,dynamic language.Sun公司的“Java白皮书”,Java2的语言特点,Java 语 言 概 述,简单的java最初是为了对家用电器进行集成控制而设计的一种语言,因此它必须简单明了Java的简单性主要体现在三个方面:一

10、源于C语言 是变种的C语言 有利于C语言程序 员过渡;二Java摒弃了C+中的一些内容,如指针和内存管理三Java提供了丰富的类库,Java2的语言特点,Java 语 言 概 述,面向对象的Java语言的设计完全是面向对象的,支持继承、重载、多态等面向对象的特性,它不支持类似C语言那样的面向过程的程序设计技术 放弃了:全局变量、全局函数、goto、宏定义、结构体、联合、指针;多重继承、友元类、运算符重载 增加了:单继承接口、内存自动管理、异常处理,Java2的语言特点,Java 语 言 概 述,健壮的Java致力于检查程序在编译和运行时的错误Java是强数据类型的语言,其类型检查比c+还要 严

11、格,类型检查帮助检查出许多开发早期出现的错误, Java自已操纵内存减少了内存出错的可能性,Java还实现了真数组,避免了覆盖数据的可能。这项功能特征大大缩短了开发Java应用程序的周期。 Java提供Null指针检测、数组边界检测、异常出口、字节代码校验。,Java2的语言特点,Java 语 言 概 述,安全的,Java2的语言特点,Java 语 言 概 述,解释的java的代码是解释执行的java的编译器将java代码编译成字节码,这些字节码是一种中间代码,然后由java解释器解释执行CC+是编译执行的CC+被编译成可执行的机器指令,然后执行,Java2的语言特点,Java 语 言 概 述

12、,与平台无关性java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式,只要有java运行环境的机器都能执行这种中间代码java源程序被编译成一种与机器无关的字节码格式 在java虚拟机(jvm)上运行真正实现了“Write once,run anywhere”。,Java2的语言特点,Java 语 言 概 述,多线程的 单线程程序一个时刻只能做一件事情,多线程程序允许在同一时刻同时做多件事情。 其它大多数高级语言,包括C,C+等,都不支持多线程,只能编写顺序执行的程序(除非有操作系统API的支持)。 Java提供现成的类Thread,只要继承这个类就可以编写多线程的程序。 多线程

13、机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。 通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。,Java2的语言特点,Java 语 言 概 述,动态的允许程序动态地装入运行过程中所需要的类,java程序保持对类的引用,不是在编译时对该类做数值引用,而是做一个符号引用,在运行时,JVM会检查类的时间戳,发现新的版本就引用新的版本类,避免了一个类改变,所有与该类有关的类必须全部重新编译的麻烦;,Java2的语言特点,Java 语 言 概 述,传统的计算机的应用程序,Java的跨平台原理,J

14、ava 语 言 概 述,Java 虚拟机,Java的跨平台原理,Java 语 言 概 述,Java 应用程序的开发周期包括编译、下载、解释、执行几个部分,Java源文件的编译和执行,Java 语 言 概 述,Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。 只要实现了特定平台下的解释程序,Java字节码就能通过解释程序在该平台下运行。这是Java跨平台的根本原因。,Java源文件的编译和执行,Java 语 言 概 述,Java解释器的执行过程 执行过程分为三部分:一:代码的装入有类的装载器(

15、class loader)完成装载运行一个程序的所有代码 其中包括代码中的类所继承的类和被其调用的类 类和类之间只能通过符号应用自己名字空间以外的类在这一阶段确定代码的内存布局,Java源文件的编译和执行,Java 语 言 概 述,Java源文件的编译和执行,编译,没有绝对地址,调入包含、继承所用到的所有类, 内存分配确定,变成真正可执行的机器码,不存在伪造的指针 不违反访问权限 不非法访问对象 不导致操作栈溢出,Java 语 言 概 述,Java字节码的两种执行方式一、即时编译方式 Just-in-time解释器先将字节码编译成机器码,然后再执行有代码生成器将字节代码转换成本机的机器代码,然

16、后可以以较高速度执行.二、解释执行方式 Interpreter边解释边执行 一般我们采用的是第二种方式,Java源文件的编译和执行,Java 语 言 概 述,JVM规格描述JVM规格描述是为java字节码定义的一种独立于具体平台的规格描述,是java平台独立性的基础 Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。 只要实现了特定平台下的解释程序,Java字节码就能通过解释程序在该平台下运行。这是Java跨平台的根本原因。 不同的操作系统有不同的虚拟机。 它类似一个小巧而高效的CPU。并不是所有的平台都有JVMJVM的跨平台造就了java的跨平台,JVM,Java 语 言 概 述,与C及C+的区别不再有全局变量不再有#include 和#define 等预处理功能不再有structure、union及typedef等不再有函数、不再有指针、不再有多重继承不再有goto语句不再有操作符重载(Operatior Overloading)取消自动类型转换,要求强制转换自动进行内存管理,GAME OVER,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报