河南理工大学本科生毕业设计(论文)说明书
1 前言
随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见,最直接的网上交流的方式。
本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型网站。本文所介绍的网络聊天系统是基于开放的JAVA应用程序开发设计的,其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,更有效的处理客户请求,且具有脱离数据库技术方法,易于维护和更新,这种技术程序由JAVA, 套接字通信socket组合而成,其运行所需环境及其工作流程和各个功能控件的工作原理将在本文依次介绍,并且文中提供了部分程序源代码。
1
河南理工大学本科生毕业设计(论文)说明书
2 概论
2.1 JAVA的网络功能与编程
2.1.1 JAVA概述
美国硅谷有一句行话,每10年~15年有一次轮回。最近的一次轮回就是从Java开始。
Java是一个由Sun公司开发而成的新一代编程语言。使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW浏览器上面注明了“支持Java”,你就可以看到生动的主页。Java正在逐步成为Internet应用的主要开发语言。它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。
Java带来的影响:Java虽出现的时间不长,但已被业界接受,IBM、Apple、DEC、Adobe、SiliconGraphics、HP、Oracle、Toshiba、Netscap和Microsoft等大公司已经购买了Java的许可证。Microsoft还在其Web浏览器Explorer3.0版中增加了对Java的支持。另外,众多的软件开发商也开发了许多支持Java的软件产品。在以网络为中心的计算时代,不支持HTML和Java,就意味着应用程序的应用范围只能限于同质的环境。
Java的出现是计算机信息交换的一个重要里程碑。在单机时代,程序进程之间靠共享存储进行变量交换;在网络时代,运行在不同宿主机上的程序按网络协议进行无格式的消息(二进制字符流)交换,消息的语义由交换程序双方维护;在Java时代,运行在网络上的程序进程交换的是小应用程序(applet)。小应用程序是什么?它是一个对象,由一组属性和
2
河南理工大学本科生毕业设计(论文)说明书
方法构成,是一个可执行的实体;不仅有数据的状态,而且有定义在数据上的操作。未来可能进行代表(Agent)交换,代理有一定的智能性,那便是信息交换的更高级阶段。
2.1.2 JAVA的特点
(1)JAVA的主要特点
Java语言有下面一些特点:简单、面向对象、分布式、解释执行、鲁棒、 安全、体系结构中立、可移植、高性能及多线程。
①.简单性:Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。
②.面向对象:Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。 ③.分布性:Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。 ④.鲁棒性:Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。另外, Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。
⑤.安全性:用于网络、分布环境下的Java必须要防止病毒的入侵。Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
⑥.体系结构中立:Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。
3
河南理工大学本科生毕业设计(论文)说明书
⑦.可移植性:与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得Java 系统本身也具有可移植性。 ⑧.解释执行:Java解释器直接对Java字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更加简单。
⑨.高性能:和其它解释执行的语言如BASIC不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。
⑩.多线程:多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。
(2)JavaApplet Java语言的特性使它可以最大限度地利用网络。 Applet是Java的小应用程序,它是动态、安全、跨平台的网络应用程序。JavaApplet嵌入HTML语 言,通过主页发布到Internet。网络用户访问服务器的Applet时,这些Applet从网络上进行传输,然后在支持Java的浏览器中运行。由于Java语言的安全机制,用户一旦载入Applet,就可以放心地来生成多媒体的用户界面或完成复杂的计算而不必担心病毒的入侵。
(3)丰富的类库Java提供了大量的类以满足网络化、多线程、面向对象系统的需要。
①.语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函数处理等,可以用它简单地实现Java程序的运行平台。
②.实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。
4
河南理工大学本科生毕业设计(论文)说明书
③.输入输出包用统一的\流\模型来实现所有格式的I/O,包括文件系统、网络、输入等。
④.低级网络包用于实现Socket编程。
⑤.抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动条、对话框等,使得Java可以移植到不同平台的机器。
⑥.网络包支持Internet的TCP/IP协议,提供了与In-ternet的接口。它支持URL连接,WWW的即时访问,并且简化了用户/服务器模型的程序设计。
(4)Java和C、C++对于变量声明、参数传递、操作符、流控制等,Java使用了和C、C++相同的传统,使得熟悉C、C++的程序员能很方便地进行编程。同时,Java为了实现其简单、鲁棒、安全等特性,也摒弃了C和C++中许多不合理的内容。如:
①.全局变量:Java程序中,不能在所有类之外定义全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量。
②.Goto:Java不支持C、C++中的goto语句,而是通过例外处理语句try, Catch, final等来代替C、C++中用goto来处理遇到错误时跳转的情况,使程序更可读且更结构化。
③.指针:指针是C、C++中最灵活,也是最容易产生错误的数据类型。Java对指针进行完全的控制,程序员不能直接进行任何指针操作,例如把整数转化为指针,或者通过指针释放某一内存地址等。同时,数组作为类在Java中实现,良好地解决了数组访问越界这一C、C++中不作检查的错误。 ④.内存管理:在Java中,所有的数据结构都是对象,通过运算符new为它们分配内存堆。通过new得到对象的处理权,而实际分配给对象的内存可能 随程序运行而改变,Java对此自动地进行管理并且进行垃圾收集,有效防止了由于程序员的误操作而导致的错误,并且更好地利用了系统资源。
5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java聊天室毕业论文(2)在线全文阅读。
相关推荐: