Java高级编程java9.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 Java高级编程 学习导读 本章将介绍Java语言中的一些高级特性:异常处理、多线程机制、流式IO以及网络通信,其中每个部分都能扩展成一个专题。读者在本章学习到的只是其中很小的一部分,但是能够从中了解一些基本概念和基本操作,为今后的深入学习打下基础。异常处理提供对错误的捕捉和处理机制;多线程机制使得程序的多个子任务能够“同时”执行;流式IO提供了对输入输出的读写机制;网络通信特性允许Java程序通过Socket实现底层通信,并利用Java提供的扩展组件实现高层服务。 教学重点与难点: 异常处理、多线程机制、流式IO以及网络通信的基本概念和模型 异常的捕获和处理 多线程的实现及Runnable接口的应用 流式输入输出的操作、文件读写及随机访问 基于Socket的面向连接的网络底层通信及高层服务 9.1 异常处理 在Java中,提供了错误捕捉和处理机制,即异常处理机制。在程序运行过程中发生错误时,Java允许其不按照正常路径完成任务,由发现错误的方法抛出封装了错误信息的对象(异常)到其调用程序,发出已经发生问题的信号,然后立即退出;而且,程序并不在调用该方法的代码处继续执行,而是由异常处理机制开始搜索一个能够处理这种特定错误情况的异常处理器。 9.1.1 异常分类 9.1.2 方法如何抛出异常 9.1.3捕获及处理异常 9.1.4创建自己的异常类 9.2 Java多线程机制 进程、线程示意图 9.2.1创建线程 9.2.2 实现多个线程 9.2.3 线程的状态 9.2.4 Runnable接口 9.3 流式输入输出与文件处理 在Java中,应用程序所需要读入的数据和写出的数据是通过I/O操作实现的。这些读写数据的源或目的包括文件、内存、网络连接等,其中,最常用的是文件。 Java中的输入输出流可以分为两大类:输入流和输出流。输入流是能够读取字节的对象,而输出流是能够写字节序列的对象。最初设计的输入输出类是面向字节流的,即能够支持8位的字节流,分别由派生自抽象类InputStream和OutputStream的类层次来表示。但是随着对国际化支持的需求出现,面向字节的流不能很好地处理使用Unicode(每个字符使用两个字节)的数据,因此引入了派生自抽象类Reader和Writer的类层次,用于读写双字节的Unicode字符,而不是单字节字符。 9.3.1 Java输入输出类库继承关系 9.3.2基于标准输入输出的IO操作 9.3.3文件读写及随机访问 9.3.4Java的文件管理 9.4 Java网络通信 传统的网络编程是一项非常细节化的工作,程序员必须处理和网络有关的大量细节,如各种协议,甚至要理解网络相关的硬件知识。而Java则将底层的网络通信细节予以屏蔽,使得使用的编程模型是一个文件模型,也就是说,可以象操作流一样来操作网络数据传输。另外,由于在网络连接中,通常都需要一个服务器同时为多个客户端服务,因此Java的多线程机制也大派用场。 9.4.1网络基础知识及Java网络模型 9.4.2面向连接的流式套接字 9.4.3无连接的数据报 9.4.4 Java访问网络资源 本章小结 【例9.15】支持多客户端的“回显”服务器端程序。 程序代码见EchoServerThread .java。我们先启动服务器端,然后启动两个客户端。服务器端程序运行结果如下: Started: ServerSocket[addr=/,port=0,localport=9999] Connection 1 accepted: Socket[addr=/,port=1656,localport=9999] Hello! Enter BYE to exit. Connection 2 accepted: Socket[addr=/,port=1657,localport=9999] Hello! Enter BYE to exit. Echo 1: abc Echo 2: ABC Echo 2: CDE Echo 1: cde Echo 2: EFG The client 2 entered BYE! Connection 2 will be closed! Echo 1: efg Echo 1: hijk The client 1 entered BYE! Connection 1 will be closed! 第一个客户端运行结果如下: socket = Socket[addr=localhost/,port=9999,localport=1656] Enter a string, Enter BYE to exit! abc Echo 1: abc cde Echo 1

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档