Java程序设计技术_第1页
Java程序设计技术_第2页
Java程序设计技术_第3页
Java程序设计技术_第4页
Java程序设计技术_第5页
已阅读5页,还剩30页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、第一章 Java程序设计技术概述 什么是Java语言一个简单的Java程序程序的编译和运行常见错误使用Java核心API文档什么是Java语言前身是1991年由美国Sun公司的Jame Gosling、Bill Joe等人开发的Oak语言Java是一种功能强大的程序设计语言,既是开发环境,又是应用环境,它代表一种新的计算模式什么是Java语言面向对象的程序设计语言与机器无关的二进制格式的类文件Java虚拟机(用来执行类文件)完整的软件程序包(跨平台的API和库)Java语言Java语言的特点语法简单,功能强大类似于C+,去掉了C+中不常用且容易出错的地方 完全面向对象分布式与安全性 强调网络特

2、性,内置TCP/IP、HTTP、FTP协议类库 三级代码安全检查机制与平台无关 一次编写,到处运行 Java语言的特点解释编译两种运行方式just-in-time编译器,简称JIT编译器多线程动态执行执行代码是在运行时动态载入的丰富的API文档和类库Java的三层架构主机架构集中处理,集中管理,各用户分享使用计算机资源。这种模式下,可移植性差,扩充系统费用较大个人计算机(PC)本地处理,本地管理,各用户独占系统资源,管理维护费用直线上升Java的三层架构Java计算模式 结合了上述两种模式的优势,它可用于客户/服务器架构,将公共使用的程序放到应用程序服务器上,用户使用时从服务器上下载到客户端,

3、各用户独立使用设备和程序。当程序更新时,只需在服务器上进行。不必在客户端做任何维护工作,达到“零管理”的理想目标。Java语言的目标创建一种面向对象的语言提供一种解释环境这可以缩短系统开发的编译连接装载测试周期,提高开发速度。去掉了影响代码健壮性的功能如指针结构及程序员负责的内存分配与释放。Java语言的目标为程序运行多线程提供了方法允许程序下载代码模块在程序运行生命期内可以动态修改检查下载的代码模块,提供了保证安全的一种手段Java虚拟机Java虚拟机(Java virtual machine,JVM)是运行Java程序必不可少的机制。编译后的Java程序指令并不直接在硬件系统的CPU上执行

4、,而是由JVM执行。JVM是编译后的Java 程序和硬件系统之间的接口,程序员可以把JVM看作一个虚拟的处理器。它不仅解释执行编译后的Java指令,而且还进行安全检查。它是Java程序能在多平台间进行无缝移植的可靠保证,同时也是Java程序的安全检验引擎。Java虚拟机 JVM的定义 JVM是在一台真正的机器上用软件方式实现的一台假想机 JVM的具体实现 指令集(等价于CPU的指令集)、寄存器组、类文件格式、栈、垃圾收集堆、内存区JVM代码格式为压缩的字节码,效率较高JVM的实现叫做Java运行时系统或运行时环境(Runtime Environment),简称为运行时 Java虚拟机的性能 J

5、ava解释器经过优化,字节码的执行速度已有很大提高在字节码执行之前先经过JIT编译器进行编译,生成针对具体平台的本机执行代码。执行效率可比解释执行的效率大幅度提高。并仍不失跨平台的特点Java虚拟机的性能Hotspot技术是Sun公司推出,为根本上解决Java程序的效率问题。它提供对代码的运行时选择。在程序执行时,对每个字节码指令进行分析,根据它的执行次数,动态决定它的执行方式垃圾收集程序员不必亲自释放内存后台系统级线程,记录每次内存分配的情况,并统计每个内存指针的引用次数。垃圾收集自动进行,无需用户释放内存,消除了内存漏洞代码安全语言定义public protectedprivate fin

6、al取消指针自动回收垃圾bytecode检查限定对象的存取权限系统堆栈溢出 参数类型一致程序执行系统WWW浏览器限制Java小应用程序的不正当使用Java源程序(.java文件)Java编译器Java bytecode(.class文件)bytecode 下载器bytecode 解释器系统执行平台代码安全对于Applet,因其是从其他机器上通过网络下载到本机执行的,程序中可能隐藏某些非法操作,所以在Applet运行之前,系统要对之进行严格的三级代码安全检查,即验证、分析和跟踪监测。代码安全JDK1.0版本中,安全模型是所谓的“沙箱”模型JDK1.1版本中,使用“签名Applet”Java 2允

7、许用户自己设定相关的安全级别代码安全Java解释器 Java解释器只能执行为JVM编译的代码Java解释器有三项主要工作:(1)下载代码由类下载器完成(2)校验代码由字节码校验器完成(3)运行代码由运行时解释器完成 代码安全类下载器 从Internet网上下载类文件 类下载器把本地文件系统的类名空间和网络源输入的类名空间区分开来,以增加安全性代码安全字节码校验器 检查代码的安全性,代码段的格式,并使用规则来检查非法代码段主要检查以下几项内容:(1)类遵从JVM的类文件格式。(2)不出现访问违例情况。(3)代码不会引起运算栈溢出。(4)所有运算代码的参数类型总是正确的。(5)不会发生非法数据转换

8、,如把整数转换为指针。(6)对象域访问是合法的。开发环境开发环境的安装 安装JDK 设置环境变量PATH = C:Program FilesJavajdk1.5.0bin;CLASSPATH = . ; c: Program FilesJava jdk1.5.0LIB;c:Program FilesJava jdk1.5.0demo JDK目录结构C:Jdk1.5.0binlibjavacjavaappletviewer用户类文件所在目录c:javaexamplesapplications当前目录jredemoJava程序Java应用程序(Java Application)Java小应用程序(

9、Java Applet)Java应用程序例public class HelloWorldApppublic static void main (String args ) System.out.println (Hello World!); 编译命令运行命令运行结果程序的编译和运行编译源文件是文本形式的文件,经过编译,生成二进制格式的字节码类文件Java编译器:“javac” $ javac HelloWorldApp.java运行Java的解释器是“java.exe”java和javac一般放在$JAVA_HOME/bin目录中,系统配置文件的PATH变量中应包含该目录$ java Hell

10、oWorldApp常见错误编译时错误javac: Command not found包含javac编译器的路径变量设置不正确。HelloWorldApp.java:3: Method printl(java.lang.String) not found in class java.io.PrintStream.System.out.printl (“Hello World!”); 方法名printl不正确, HelloWorldApp.java:1: Public class HelloWorldapp must bedefined in a file called HelloWorldapp

11、.java.public class HelloWorldapp 文件定义的公有类HelloWorldapp的名字和文件名不匹配。常见错误运行时错误Cant find class HelloWorldApp系统找不到名为HelloWorldApp的类文件。In class HelloWorldApp: main must be public and staticmain()方法的左侧缺少static或public文件中含有的类个数错误在一个源文件中只能定义一个公有类常见错误层次错误解释:一个.java源文件可以含有三个“顶层”元素,这三个元素必须依次是:(1)一个包说明,即package语句,

12、可选(2)任意多个引入语句,即import语句(3)类和接口说明常见错误整体来看,Java程序的结构如下:package语句:零个或1个,必须放在文件开始;import语句:零个或多个,必须放在所有类定义之前;公有的(public)类定义:零个或一个;类定义:零个或多个;接口定义:零个或多个;源文件命名时,若文件中含有public类,源文件必须与该类名字一致,注意区分大小写。常见错误正确的语句序列:错误的语句顺序:package Transportation;import java.awt.Graphics;import java.applet.Applet;import java.awt.Graphics;import java.applet.Applet;package Transportation;该例中在包

温馨提示

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

评论

0/150

提交评论