Java-语言概述课件_第1页
Java-语言概述课件_第2页
Java-语言概述课件_第3页
Java-语言概述课件_第4页
Java-语言概述课件_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章Java语言概述IBMLearning&Development1课程内容Java的发展历程Java语言的特点Java语言的平台无关性Java虚拟机JVM介绍Java运行平台Java程序开发JDK21.1Java语言的发展里程Java语言前身是Oak语言,于1991年推出,但仅限于SunMicrosystems公司内部使用。1995年Oak语言改名为“Java”,并正式向公众推出,主要贡献者是JamesGosling。1.2版本的Java是Java语言发展过程中一个关键阶段,从此,Sun公司将Java更名为Java2。经过十年的发展,Java语言已经发展到1.6版本。31.2java的特点(1/4)1.语法简单(1)Java的风格类似于C++(2)Java摒弃了C++中容易引发程序错误的地方,如指针和内存管理;(3)Java提供了丰富的类库。2.面向对象面向对象编程是一种先进的编程思想,更加容易解决复杂的问题。面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的,41.2java的特点(2/4)3.分布式JAVA从诞生就起就与网络联系在一起,它强调网络特性,内置TCP/IP,HTTP,FTP协议类库,便于开发网上应用系统。4.安全性(1)在Java语言里,象指针和释放内存等C++功能被删除,避免了非法内存操作。(2)当Java用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。Java语言在机器上执行前,要经过很多次的测试。其三级安全检验机制可以有效防止非法代码侵入,阻止对内存的越权访问。51.2java的特点(3/4)5.健壮性Java致力于检查程序在编译和运行时的错误。异常检查可尽早的发现可能存在的错误。类型检查帮助检查出许多开发早期出现的错误。6.解释运行,高效率Java解释器(运行系统)能直接运行目标代码指令。Java程序经编译器编译,生成的字节码经过精心设计,并进行了优化,因此运行速度较快,克服了以往解释性语言运行效率低的缺点。61.2java的特点(4/4)7.与平台无关JAVA编译器将JAVA程序编译成二进制代码,即字节码。字节码有统一的格式,不依赖于具体的硬件环境。8.多线程Java提供的多线程功能使得在一个程序里可同时执行多个小任务。9.动态性Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类。71.3平台无关性(1/2)平台无关类型包括源代码级和目标代码级两种类型。C和C++属于源代码级平台无关,意味着用其写的应用程序不用修改只需重新编译就可以在不同平台上运行。Java属于目标代码级平台无关,主要靠Java虚拟机JVM来实现。对高级语言的翻译方式有解释和编译两种解释方式就是一边翻译一边运行而编译方式则是一次性翻译好,生成目标程序。81.3平台无关性(2/2)解决移植性的方法有以下两种方式:方式1:到一台机器上将源程序重新编译成适合该台机器的机器代码。方式2:将高级语言源程序编译成一种与机器无关的中间代码(如Java语言的字节码),该中间代码程序不能被操作系统直接执行,需要由解释器来解释和执行。Java语言采用方式2,将由解释程序扩展了的指令系统的机器称为Java虚拟机——简称JVM。91.4Java虚拟机JVM虚拟机——是一种对计算机物理硬件计算环境的软件实现。虚拟机是一种抽象机器,内部包含一个解释器(Interpreter),可以将其它高级语言编译为虚拟机的解释器可以执行的代码(称这种代码为中间语言IntermediateLanguage),实现高级语言程序的可移植性平台无关性(SystemIndependence),无论是运行在嵌入式设备还是多个处理器的服务器上,虚拟机都执行相同的指令,所使用的支持库也具有标准的API和完全相同或相似的行为。101.4Java虚拟机JVMJava虚拟机——(JavaVirtualMachine,简称JVM)是一种抽象机器,它附着在具体操作系统上,本身具有一套虚拟机器指令,并有自己的栈,寄存器等,运行JAVA程序不可少的机制。编译后的JAVA程序指令并不直接在硬件系统CPU上执行,而是在JVM执行。在JVM上有一个Java解释器用来解释Java编译器编译后的程序。任何一台机器只要配备了解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。111.4Java虚拟机JVM图1-1计算机硬件、操作系统、JVM与各种可执行程序之间的关系机器代码硬件操作系统JVM本地可执行文件(.exe,.com文件)Java字节码文件(.class文件)12JVM体系结构图类装载器字节码解释器安全管理器垃圾收集器线程管理图形Java虚拟机操作系统字节码*.class文件图1-2Java虚拟机体系结构示意图13JVM的作用JVMWindowsAndroid计算机LinuxUnixJAVA程序141.5Java与C/C++之关系相近之处Java中许多基本语句的语法和C++一样,像常用的循环语句、控制语句等和C++几乎一样Java和C++是两种完全不同的语言151.5Java与C/C++之关系不同之处Java去掉了C++语言的许多功能,Java中没有#include和#define等预处理功能,用import语来句包含其它类和包;Java中没有structure,union及typedef;Java中没有不属于类成员的函数,没有指针和多重继承,Java只支持单重继承;Java中禁用goto,但goto还是保留的关键字;Java中没有操作符重载;Java中没有全局变量,可以在类中定义公用、静态的数据成员实现相同功能。……161.6Java运行平台1.三种平台简介J2SE:Java标准版或Java标准平台。J2SE提供了标准的SDK开发平台(以前称做JDK开发平台)。J2EE:Java企业版或Java企业平台。J2ME:Java微型版或Java小型移动平台。172.安装J2SE平台——简介JDK版本发布日期版本说明及主要内容JDK1.0a21995.05正式对外发布JDK1.0.21996.01标准的I/O库、网络库、applet、文件I/O以及基本的窗口库等JDK1.11997.02内部类、新的事件处理模型、RMI、JavaBean,JDBC、串行化、国际化、日历类以及性能改进等JDK121998.12浮点运算改进、StringGUI库、集合、Java2D图形、可访问性(可视化GUI支持)、引用对象以及性能改进等JDK1.32000.05性能改进、CORBA兼容性、Java音频支持以及JNDI等JDK1.42001.12断言语句、64位地址空间(Solaris),新的I/O库、模式匹配、鼠标滑轮支持、IPv6,XML,WebStart支持、性能改进及命名为Merlin的代码等JDK1.52003.07通用性(代码模块)、允许一些云算符重载以及命名为Tiger的代码等181.6Java运行平台3.环境变量JAVA_HOME为那些需要使用Java命令和JVM的程序提供了通用的路径信息,其值应设置为JDK的安装目录的路径,

JAVA_HOME=C:\jdk1.5CLASSPATH用于指明字节码文件的位置。

CLASSPATH=c:\jdk1.5\jre\lib\rt.jar;.PATH是操作系统使用的变量,用于搜索在Shell中输入的希望执行的命令。191.7Java程序开发Java编译器源文件编辑器字节码文件由Web浏览器执行文件名.java产生对于Java小应用程序对于Java应用程序由Java解释器执行图1-1Java程序开发过程示意图201.7Java程序开发1.Java应用程序的开发编写源文件 Editplus等文本编辑器生成Hello.javapublicclassHello{publicstaticvoidmain(Stringargs[]){System.out.println("你好,很高兴学习Java");}}211.7Java程序开发1.Java应用程序的开发编译源文件生成字节码javacHello.java编译前编译后编译以后的结果是:*.class;编译后的文件名与源文件中类名一样。每个类生成一个:*.class。221.7Java程序开发1.Java应用程序的开发加载运行字节码javaHello格式:java<类名>说明:使用java命令运行java应用程序,程序从起始函数main开始执行。23//Hello.javapublicclassHello{publicstaticvoidmain(Stringargs[]){System.out.println("你好,很高兴学习Java");}}C:>javacHello.javaC:>javaHello241.7Java程序开发2.JavaApplet程序的开发编写源文件Editplus等文本编辑器Boy.java编译源文件生成字节码javacBoy.java通过浏览器加载运行字节码Html文件myBoy.html<appletcode=Boy.classheight=100width=300></applet> 或appletviewewmyboy.html25//Boy.javaimportjava.applet.*;importjava.awt.*;publicclassBoyextendsApplet{publicvoidpaint(Graphicsg){g.setColor(Color.blue);g.drawString("Java是一门很优秀的语言",12,30);g.setColor(Color.red);g.drawString("我一定认真学习Java",22,56);}}//myBoy.html<appletcode=Boy.classheight=100width=300></applet>C:>javacBoy.javaC:>appletviewermyboy.html261.8Java开发工具箱Java开发工具箱(JDK-JavaDevelopmentKit)是Sun公司为用户提供的集成和执行applets和应用程序的工具javac编译器:可以用任何文字编辑器创建Java程序java翻译器;用于执行编译过的Java应用程序。appletviewer:可运行applets而不必运行Web浏览器。javap反汇编程序:从字节码文件恢复java原代码。javadoc工具:可以为所编写

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论