收藏 分销(赏)

Java概述.ppt

上传人:pc****0 文档编号:13356410 上传时间:2026-03-06 格式:PPT 页数:32 大小:306KB 下载积分:10 金币
下载 相关 举报
Java概述.ppt_第1页
第1页 / 共32页
Java概述.ppt_第2页
第2页 / 共32页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java,语 言 概 述,在本单元要学习的知识点,程序设计语言和,Java,起源,什么是,Jdk,,,Jre,;,什么是,Java2,及其主要版本;,Java2,的主要应用领域;,Java,语言特点,开发方式及,Java,编译、解释执行等。,Java,如何实现“平台无关”,Java,语 言 概 述,软件的基本组成部分是完成其功能的程序。,程序设计语言(也被称为“编程语言”,,Programming Language,)是人们编制程序所使用的语言。,程序描述了计算机处理数据、解决问题的过程,这是程序的实质。但程序的描述形式却可以是多种多样的,可以用不同的方式表述,不同的程序设计语言。,程序设计语言,Java,语 言 概 述,程序设计语言的种类:,机器语言:机器指令,直接执行,汇编语言:符号化,汇编器(,Assembler,),高级程序设计语言(编译型),高级程序设计语言(解释型),程序设计语言,Java,语 言 概 述,高级语言中用于描述计算的结构采用类似于数学中代数运算公式的形式,这种结构被称为“表达式”。程序中基本的动作单位被称为“语句”,不同的语句实现不同的功能。用高级语言书写的程序不可能直接地在计算机上执行,要在计算机上执行高级语言书写的程序,有两种基本方法,:,编译(,Compilation,)执行:这种方法是设法把高级语言程序(也称为“源程序”)转换成为机器语言的可以由计算机直接执行的程序,即转变为“可执行(,Executable,)程序”。,“解释”(,Interpretation,)执行:这种方法是即时把源程序转换为机器可执行的指令。有时为了提高效率,也可以先编译成一种中间代码。,高级程序设计语言,Java,语 言 概 述,对于“编译执行”方式,人们实现了高级语言“编译器”(,Compiler,)完成这种转换工作。编译器把高级语言程序看成是符合一定语法结构的符号串,对它进行加工变换。编译器对源程序的加工一般分为两个阶段:源程序首先被翻译成机器语言,这种翻译结果称为“目标码”(,object code,),目标码构成的程序片段称为目标模块。第二步,这些目标模块被与其他一些基本模块(由编译软件提供)连接在一起,最终形成“可执行程序”(,executable program,),这样的程序就可以在计算机上实际运行了。,第一个加工步骤称为“编译”(,compiling,),第二个步骤称为“连接”(,linking,)。,高级程序设计语言,Java,语 言 概 述,高级程序设计语言,Java,语 言 概 述,对于“解释执行”方式,人们实现了一种称为“解释器”(,Interpreter,)的软件来完成转换工作。解释器在工作方式上与编译器不同,它不对源程序进行翻译,而是直接对源程序的语句进行分析和解释,实现源程序所描述的功能。,高级程序设计语言,Java,语 言 概 述,高级语言写出的程序是独立于任何具体的计算机的。但是“编译器”和“解释器”则是与机器相关的。同一种语言,对于不同的机器,需要不同的“编译器”和“解释器”。,人们已经开发出了许多不同的高级程序设计语言,不同的语言有各自不同的规范,因此需要专门的“编译器”和“解释器”。,高级程序设计语言,Java,语 言 概 述,Java,是一种解释型的、面向对象的编程语言。,历史:,1991,年,,SUN,MicroSystem,公司的,Jame,Gosling,、,Bill Joe,等人为在电视、控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为,Oak,的软件。,Oak Java,:互联网给,Java,带来新的生机,1995,年,Sun,向公众推出,Java,并引起业界的轰动,发展:面向网络应用,类库不断丰富,性能不断提高,应用领域不断拓展。(,1995,年以来),应用:,Java,是当今最流行的软件开发语言之一,,Sun,推出了,Java2&J2EE,使,Java,具有更广泛的用途,适用于各种应用开发,尤其是网络应用,网络服务,嵌入式系统等。,Java,的起源,Java,语 言 概 述,1998,年,12,月,sun,公司发布,java1.2,版本,从此之后,java,更名为,java2,java1,现在已经很少用到目前我们用到的是,java2,版本的,1.5,版本,为什么不用,java2,的,1.6,版本?,Java,的起源,Java,语 言 概 述,Jdk,jdk,指,java develop kit,即,java,开发工具包,Jre,jre,指,java 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,),针对企业级的应用解决方案(主要有,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,语言是简单的、面向对象的、分布式的、解释性的、健壮的、安全的、与平台无关的、可移植的、高性能的、多线程的和动态的语言。,A,simple,object-oriented,distributed,interpreted,robust,secure,architecture-neutral,portable,high-performance,multi-threaded,dynamic,language.,Sun,公司的“,Java,白皮书”,Java2,的语言特点,Java,语 言 概 述,简单的,java,最初是为了对家用电器进行集成控制而设计的一种语言,因此它必须简单明了,Java,的简单性主要体现在三个方面:,一源于,C,语言 是变种的,C,语言 有利于,C,语言程序 员过渡;,二,Java,摒弃了,C+,中的一些内容,如指针和内存管理,三,Java,提供了丰富的类库,Java2,的语言特点,Java,语 言 概 述,面向对象的,Java,语言的设计,完全,是面向对象的,支持继承、重载、多态等面向对象的特性,它不支持类似,C,语言那样的面向过程的程序设计技术,放弃了:全局变量、全局函数、,goto,、宏定义、结构体、联合、指针;多重继承、友元类、运算符重载,增加了:单继承接口、内存自动管理、异常处理,Java2,的语言特点,Java,语 言 概 述,健壮的,Java,致力于检查程序在编译和运行时的错误,Java,是强数据类型的语言,其类型检查比,c+,还要 严格,类型检查帮助检查出许多,开发早期,出现的错误,,Java,自已,操纵内存,减少了内存出错的可能性,,Java,还实现了真数组,避免了覆盖数据的可能。这项功能特征大大缩短了开发,Java,应用程序的周期。,Java,提供,Null,指针检测、数组边界检测、异常出口、字节代码校验。,Java2,的语言特点,Java,语 言 概 述,安全的,Java2,的语言特点,Java,源程序,(.java,文件,),Java,编译器,Java Bytecode,(.class,文件,),Bytecode,载入器,Bytecode,解释器,系统执行平台,语言定义,public,protected,private,final,取消指针,自动回收,垃圾,程序执行系统,WWW,浏览器,限制,Java,小应用程序,的不正当使用,Java,语 言 概 述,解释的,java,的代码是解释执行的,java,的编译器将,java,代码编译成字节码,这些字节码是一种中间代码,然后由,java,解释器解释执行,CC+,是编译执行的,CC+,被编译成可执行的机器指令,然后执行,Java2,的语言特点,Java,语 言 概 述,与平台无关性,java,作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式,只要有,java,运行环境的机器都能执行这种中间代码,java,源程序被编译成一种与机器无关的字节码格式 在,java,虚拟机(,jvm,)上运行,真正实现了“,Write,once,run,anywhere”,。,Java2,的语言特点,Java,语 言 概 述,多线程的,单线程程序一个时刻只能做一件事情,多线程程序允许在同一时刻同时做多件事情。,其它大多数高级语言,包括,C,,,C+,等,都不支持多线程,只能编写顺序执行的程序(除非有操作系统,API,的支持)。,Java,提供现成的类,Thread,,只要继承这个类就可以编写多线程的程序。,多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。,通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。,Java2,的语言特点,Java,语 言 概 述,动态的,允许程序动态地装入运行过程中所需要的类,,java,程序保持对类的引用,不是在编译时对该类做数值引用,而是做一个符号引用,在运行时,,JVM,会检查类的时间戳,发现新的版本就引用新的版本类,避免了一个类改变,所有与该类有关的类必须全部重新编译的麻烦;,Java2,的语言特点,Java,语 言 概 述,传统的计算机的应用程序,Java,的跨平台原理,Java,语 言 概 述,Java,虚拟机,Java,的跨平台原理,Java,语 言 概 述,Java,应用程序的开发周期包括编译、下载、解释、执行几个部分,Java,源文件的编译和执行,Java,语 言 概 述,Java,虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。,Java,虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。,只要实现了特定平台下的解释程序,,Java,字节码就能通过解释程序在该平台下运行。这是,Java,跨平台的根本原因。,Java,源文件的编译和执行,Java,语 言 概 述,Java,解释器的执行过程,执行过程分为三部分:,一:代码的装入,有类的装载器(,class loader,)完成,装载运行一个程序的所有代码 其中包括代码中的类所继承的类和被其调用的类 类和类之间只能通过符号应用自己名字空间以外的类,在这一阶段确定代码的内存布局,Java,源文件的编译和执行,Java,语 言 概 述,Java,源文件的编译和执行,编译,没有绝对地址,调入包含、继承所用到的所有类,内存分配确定,变成真正可执行的机器码,Java,源程序,(.java,文件,),Java,编译器,Java Bytecode,(.class,文件,),系统执行平台,Bytecode,解释器,Bytecode,载入器,字节码校验器,不存在伪造的指针,不违反访问权限,不非法访问对象,不导致操作栈溢出,Java,语 言 概 述,Java,字节码的两种执行方式,一、即时编译方式,Just-in-time,解释器先将字节码编译成机器码,然后再执行,有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行,.,二、解释执行方式,Interpreter,边解释边执行,一般我们采用的是第二种方式,Java,源文件的编译和执行,Java,语 言 概 述,JVM,规格描述,JVM,规格描述是为,java,字节码定义的一种独立于具体平台的规格描述,是,java,平台独立性的基础,Java,虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。,Java,虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。,只要实现了特定平台下的解释程序,,Java,字节码就能通过解释程序在该平台下运行。这是,Java,跨平台的根本原因。,不同的操作系统有不同的虚拟机。,它类似一个小巧而高效的,CPU,。,并不是所有的平台都有,JVM,JVM,的跨平台造就了,java,的跨平台,JVM,Java,语 言 概 述,与,C,及,C+,的区别,不再有全局变量,不再有,#include,和,#define,等预处理功能,不再有,structure,、,union,及,typedef,等,不再有函数、不再有指针、不再有多重继承,不再有,goto,语句,不再有操作符重载,(,Operatior,Overloading),取消自动类型转换,要求强制转换,自动进行内存管理,GAME OVER,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服