已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章Java语言概述,本章的主要内容:1.1Java语言的发展里程1.2java的特点1.3平台无关性1.4Java虚拟机JVM1.5Java与C/C+之关系1.6Java运行平台1.7Java程序开发1.8Java开发工具箱1.9JDK1.5编译器的新规定,1.1Java语言的发展里程,Java语言前身是Oak语言,于1991年推出,但仅限于SunMicrosystems公司内部使用。1995年Oak语言改名为“Java”,并正式向公众推出,主要贡献者是JamesGosling。1.2版本的Java是Java语言发展过程中一个关键阶段,从此,Sun公司将Java更名为Java2。经过十年的发展,Java语言已经发展到1.6版本。,1.2java的特点(1/4),1语法简单(1)Java的风格类似于C+(2)Java摒弃了C+中容易引发程序错误的地方,如指针和内存管理;(3)Java提供了丰富的类库。2面向对象面向对象编程是一种先进的编程思想,更加容易解决复杂的问题。面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的,,1.2java的特点(2/4),3分布式JAVA从诞生就起就与网络联系在一起,它强调网络特性,内置TCP/IP,HTTP,FTP协议类库,便于开发网上应用系统。4安全性(1)在Java语言里,象指针和释放内存等C+功能被删除,避免了非法内存操作。(2)当Java用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。Java语言在机器上执行前,要经过很多次的测试。其三级安全检验机制可以有效防止非法代码侵入,阻止对内存的越权访问。5,1.2java的特点(3/4),5健壮性Java致力于检查程序在编译和运行时的错误。异常检查可尽早的发现可能存在的错误。类型检查帮助检查出许多开发早期出现的错误。6解释运行,高效率Java解释器(运行系统)能直接运行目标代码指令。Java程序经编译器编译,生成的字节码经过精心设计,并进行了优化,因此运行速度较快,客服了以往解释性语言运行效率低的缺点。,1.2java的特点(4/4),7与平台无关JAVA编译器将JAVA程序编译成二进制代码,即字节码。字节码有统一的格式,不依赖于具体的硬件环境。8多线程Java提供的多线程功能使得在一个程序里可同时执行多个小任务。9动态性Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类。,1.3平台无关性(1/2),平台无关类型包括源代码级和目标代码级两种类型。C和C+属于源代码级平台无关,意味着用其写的应用程序不用修改只需重新编译就可以在不同平台上运行。Java属于目标代码级平台无关,主要靠Java虚拟机JVM来实现。对高级语言的翻译方式有解释和编译两种解释方式就是一边翻译一边运行而编译方式则是一次性翻译好,生成目标程序。,1.3平台无关性(2/2),解决移植性的方法有以下两种方式:方式1:到一台机器上将源程序重新编译成适合该台机器的机器代码。方式2:将高级语言源程序编译成一种与机器无关的中间代码(如Java语言的字节码),该中间代码程序不能被操作系统直接执行,需要由解释其来解释和执行。Java语言采用方式2,将由解释程序扩展了的指令系统的机器称为Java虚拟机,简称JVM。,1.4Java虚拟机JVM,虚拟机是一种对计算机物理硬件计算环境的软件实现。虚拟机是一种抽象机器,内部包含一个解释器(Interpreter),可以将其它高级语言编译为虚拟机的解释器可以执行的代码(称这种代码为中间语言IntermediateLanguage),实现高级语言程序的可移植性平台无关性(SystemIndependence),无论是运行在嵌入式设备还是多个处理器的服务器上,虚拟机都执行相同的指令,所使用的支持库也具有标准的API和完全相同或相似的行为。,1.4Java虚拟机JVM,Java虚拟机(JavaVirtualMachine,简称JVM)是一种抽象机器,它附着在具体操作系统上,本身具有一套虚拟机器指令,并有自己的栈,寄存器等,运行JAVA程序不可少的机制。编译后的JAVA程序指令并不直接在硬件系统CPU上执行,而是在JVM执行。在JVM上有一个Java解释器用来解释Java编译器编译后的程序。任何一台机器只要配备了解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。,图1-1计算机硬件、操作系统、JVM与各种可执行程序之间的关系,机器代码,硬件,操作系统,JVM,本地可执行文件(.exe,.com文件),Java字节码文件(.class文件),1.4Java虚拟机JVM,JVM体系结构图,Java虚拟机,操作系统,字节码*.class文件,图1-2Java虚拟机体系结构示意图,1.5Java与C/C+之关系,相近之处Java中许多基本语句的语法和C+一样,像常用的循环语句、控制语句等和C+几乎一样Java和C+是两种完全不同的语言,1.5Java与C/C+之关系,不同之处Java去掉了C+语言的许多功能,Java中没有#include和#define等预处理功能,用import语来句包含其它类和包;Java中没有structure,union及typedef;Java中没有不属于类成员的函数,没有指针和多重继承,Java只支持单重继承;Java中禁用goto,但goto还是保留的关键字;Java中没有操作符重载;Java中没有全局变量,可以在类中定义公用、静态的数据成员实现相同功能。,1.6Java运行平台,1三种平台简介J2SE:Java标准版或Java标准平台。J2SE提供了标准的SDK开发平台(以前称做JDK开发平台)。J2EE:Java企业版或Java企业平台。J2ME:Java微型版或Java小型平台。,2安装J2SE平台简介,1.6Java运行平台,3环境变量JAVA_HOME为那些需要使用Java命令和JVM的程序提供了通用的路径信息,其值应设置为JDK的安装目录的路径,JAVA_HOME=C:jdk1.5CLASSPATH用于指明字节码文件的位置。CLASSPATH=c:jdk1.5jrelibrt.jar;.PATH是操作系统使用的变量,用于搜索在Shell中输入的希望执行的命令。,Java编译器,源文件编辑器,字节码文件,由Web浏览器执行,文件名.java,产生,对于Java小应用程序,对于Java应用程序,由Java解释器执行,图1-1Java程序开发过程示意图,1.7Java程序开发,1.7Java程序开发,1Java应用程序的开发编写源文件Editplus等文本编辑器生成Hello.java编译源文件生成字节码javacHello.java加载运行字节码javaHello,/Hello.javapublicclassHellopublicstaticvoidmain(Stringargs)System.out.println(你好,很高兴学习Java);C:javacHello.javaC:javaHello,1.7Java程序开发,2JavaApplet程序的开发编写源文件Editplus等文本编辑器Boy.java编译源文件生成字节码javacBoy.java通过浏览器加载运行字节码Html文件myBoy.html或appletviewewmyboy.html,/Boy.javaimportjava.applet.*;importjava.awt.*;publicclassBoyextendsAppletpublicvoidpaint(Graphicsg)g.setColor(Color.blue);g.drawString(Java是一门很优秀的语言,12,30);g.setColor(Color.red);g.drawString(我一定认真学习Java,22,56);/myBoy.htmlC:javacBoy.javaC:appletviewewmyboy.html,1.8Java开发工具箱,Java开发工具箱(JDK-JavaDevelopmentKit)是Sun公司为用户提供的集成和执行applets和应用程序的工具javac编译器:可以用任何文字编辑器创建Java程序java翻译器;用于执行编译过的Java应用程序。appletviewer:可运行applets而不必运行Web浏览器。javap反
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铜陵市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及一套答案详解
- 空白合租合同(标准版)
- 2025保管合同范本下载
- 金属扭转实验试题及答案
- 抚州市人民医院神经重症监护室准入考核
- 连云港市人民医院低温等离子技术考核
- 厦门市人民医院凝血功能异常处理考核
- 2025-2030智慧零售智能自助结账系统行业市场现状需求分析及投资评估规划分析研究报告
- 2025-2030智慧酒店行业市场供需分析服务创新投资周期评估分析报告
- 泰州市人民医院儿童腰椎穿刺技能考核
- 【新教材】冀教版(2024)七年级上册英语期中复习:Unit 1-4+期中共5套测试卷汇编(含答案)
- 【难点突破】指数复合型函数的对称性(教师版)
- 甲乙双方合作合同协议范本
- 运用学习任务群理念助力学生轻松学拼音
- 第4课《社会主义基本经济制度》第三框《社会主义市场经济体制》课件(高教版2023·基础模块)
- T CEC站用低压交流电源系统剩余电流监测装置技术规范
- 全球及中国牛肉行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告(2024-2030)
- MOOC 社会心理学-西安交通大学 中国大学慕课答案
- 单细胞基因组学与转录组学分析
- 浅谈供应商沟通技巧课件
- 幼儿园冬季教职工安全培训
评论
0/150
提交评论