基于局域网的斗地主游戏开发【文献综述】.doc

上传人:文初 文档编号:276543 上传时间:2018-08-17 格式:DOC 页数:5 大小:34.50KB
下载 相关 举报
基于局域网的斗地主游戏开发【文献综述】.doc_第1页
第1页 / 共5页
基于局域网的斗地主游戏开发【文献综述】.doc_第2页
第2页 / 共5页
基于局域网的斗地主游戏开发【文献综述】.doc_第3页
第3页 / 共5页
基于局域网的斗地主游戏开发【文献综述】.doc_第4页
第4页 / 共5页
基于局域网的斗地主游戏开发【文献综述】.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、毕业论文文献综述 计算机科学与技术 基于局域网的斗地主游戏开发 1 开发语言 Java Java 是一种简单的跨平台的面向对象的分布式的 、 解释的 、 健壮的安全的 、 结构的中立的 、可移植的 、 性能很优异的多线程的 、 动态的语言 1。当 1995 年 SUN 推出 Java 语言之后,全世界的目光都被这个神奇的语言所吸引 。 Java 语言有以下特点: 第一个特点, Java 与 C+语言非常相近 ,但 Java 比 C+简单 ,它抛弃了 C+中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型 2。 第二个特点, JAVA 是一种面向对

2、象的语言。这里的面向对象,是指语言的编程和设计方法。“面向对象程序设计语言”的核心之一就是开发者在设计软件的时候可以使用自定义的类型和关联操作。代码和数据的实际集合体叫做“对象”。一个对象可以想像成绑定了很多“行为(代码)”和“状态(数据)”的物体 3。 面向对象方法 对于数据结构的改变需要和代码进行通信然后操作,反之亦然。 其目的是使大型软件项目更容易管理,从而提高其质量和降低项目失败率。面向对象编程的另一个主要目标是 能产生很多的有关联的类 ,可以 使 软件 开发变得更简单 。 举例 来说,很多软件工程都有同样的功能,尤其是很多应用了同一原理组织的软件工程。软件的二次开发者想自己为软件开发

3、插件以增强功能的时候,绝对不想看到混乱的开发代码和管理计划。面向对象的目的就是不生产难懂且难以使用的代码,为软件各个功能群之间创建有效的通信通道。很多开源软件社区正在计划给软件作者提供更多的类来让软件的二次开发变得简便 4。 第三个特点,平台独立性。这意味着 用 Java 语言编写的程序不必在相同的硬件 上 运行 , 即每个人 编写的 java 程序都能在不同的平台上运行 5。实现跨平台性的方法是大多数编译器在进行Java 语言程序的编码时候会生成一个用 字节码 ( Bytecode)写成的“半成品”,这个“半成品”会在 Java 虚拟机 (解释层)的帮助下 运行,虚拟机会把它转换成当前所处硬

4、件平台的原始代码 6。请注意,虽然有一个明确的编制阶段,但在某些时候, Java 的字节码会转换为解释或由 JIT 编译器的原生机器产生 的 指令。也有 Java 编译器编译以本地对象为代码,比如 GCJ 中(除去中间字节码实现阶段),但这些编译器的输出只能在一个单一架构中运行 7。 1 sun 公司对于 Java 的 定位 是“全兼容的”,这也导致了微软和 sun 关于微软的程序不支持 RMI和 JNI 接口、并且增加特性为己所用的 作法起了 法律争端。 作为回应,微软不再 使用 Java,并在最近版本的 Windows 和 IE 浏览器 中 不支持 Java 小程序 并且没有一个第三方插件

5、 8。 但是 sun 公司和其他使用 Java 技术 的公司 还是 对 使用 微软 操作系统的 用户提供无偿的第三方插件和程序支持。 Java 语言 使用 解释层最初 目的 是为了轻巧性 , 所以这些程序的运行效率比 C 语言和 C+要低很多,用户也对此颇有微词。很多最近的调查显示 Java 的程序运行速度比几年前要高出许多,有些同样功能的程序的效率甚至超过了 C+和 C 语言编写的 程序。 Java 语言在最开始应用的时候是没有解释层的,所有需要编译的代码都直接转换成机器的原始代码。这样做的后果就是获得了最佳的性能,但是程序异常臃肿。从 JIT 技术开始, Java 的程序都经过一次转换之后

6、才变成机器码。很多老牌的第三方虚拟机都使用一种叫做“动态编译”的技术,也就是虚拟机实时监测和分析程序的运行行为,同时 有 选择性地对程序所需要的部分进行 了 编译和优化 9。所有这些技术都改善了代码的运行速度,但是又不会让程序的体积变得失常。程序的轻便性事实上是软件编写很难达到的一个目标, Java 虽然成功地实现了“一 次编译,到处运行”,但是由于平台和平台之间的差异,所编写的程序在转换代码的时候难免会出现微小的、不可察觉的错误和意外。有些程序员对此非常头疼,他们嘲笑 Java 的程序不是“一次编译,到处运行”,而是“ 一次编写,调试无处不在 ” 10。但是, 平台无关性 还是 让 Java

7、 在服务器端软件领域非常成功 , 很多服务器端软件都使用 Java 或相关技术创建。 第四个特点 , 自动垃圾回收 功能。 C+语言被用户诟病的原因之一是大多数 C+编译器不支持 垃圾收集 机制。通常使用 C+编程的时候,程序员于程序中初始化对象时,会在主机 存储器堆栈上分配一块存储器与地址,当不需要此对象时,进行解构或者删除的时候再释放分配的存储器地址 11。如果对象是在堆栈上分配的,而程序员又忘记进行删除,那么就会造成 存储器泄漏 ( Memory Leak)。长此以往,程序运行的时候可能会生成很多不清除的垃圾,浪费了不必要的存储器空间。因此如果同一存储器地址被删除两次的话,程序会变得不稳

8、定,甚至崩溃。因此有经验的 C+程序员都会在删除之后将指针重置为 0,然后在删除之前先判断指针是否为 0。 C+中也可以使用“智能指针”( Smart Pointer)或者使用 C+托管扩展 编译器的方法来实现自动化存储器释放,智能指针可以在 标准类库 中找到,而 C+托管扩展被微软的 Visual C+ 7.0及以上版本所支持。智能指针的优点是不需引入缓慢的垃圾收集机制,而且可以不考虑线程安全的问题,但是缺点是如果不善使用智能指针的话,性能有可能不如垃圾收集机制,而且不 断地分配和释放存储器可能造成存储器碎片,需要手动对堆进行压缩。除此之外,由于智能指针是一个基于模板的功能,所以没有经验的程

9、序员在需要使用多态特性进行自动清理时也可能束手无策 。 2 2 开发工具简介 本游戏是用 NetBeans IDE 编写的, NetBeans IDE 是一个开发环境,供程序员编写、编译、调试和部署程序的一个工具。它是用 Java 编写的,但却可以支持任何编程语言。另外也有巨大数量的模块来扩展 NetBeans IDE,它是一个免费产品,不限制其使用形式。 所有的 IDE 功能由模组所提供,每个模块提供了一个 很好的功能支持,如支持 Java 语言 的编辑,或支持 CVS 的 版本控制系统,和 SVN。 NetBeans 包含所有 Java 发展需要模块,从而使用户能够立即展开工作。 NetB

10、eans 的模块还允许添加新功能,如支持其他编程语言,可以添加安装附加模块 12。例如, 太阳工作室 的 Java Studio Enterprise 和 的 Sun Java Studio Creator 软件 都添加于 NetBeans IDE 中。 3 JDK 开发环境 JDK(Java Development Kit)是 Sun Microsystems 针对 Java 开发员的产品。自从 Java 推出以来, JDK 已经成为使用最广泛的 Java SDK。 JDK 是整个 Java 的核心,包括了 Java 运行环境,Java 工具和 Java 基础的类库。 JDK 是学好 Jav

11、a 的第一步。而专门运行在 x86平台的 Jrocket 在服务端运行效率也要比 Sun JDK 好很多。从 SUN 的 JDK5.0开始 ,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。 JDK 是一个完全免费开源的工具。 JDK 是其它 Java开发工具的基础,也就是说,在安装 其它开发工具以前,首先必须先要安装 JDK。 4 连接技术 C/S 在网络 连接 模 式中 ,除对 等网 外 ,还 有另 一种形 式的 网络, 即客户 机 /服务器 网,Client/Server13。在客户机 /服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获

12、得所需要的 网络资源 ,而服务器为客户机提供网络必 须的资源 14。这里客户和服务器都是指通信中所涉及的两个应用进程( 软件 )。使用计算机的人是计算机的 “ 用户 ” ( user)而不是 “ 客户 ” ( client)。但在许多国外文献中,也经常把运行客户程序的机器称为 client(这种情况下也可把 client 译为 “ 客户机 ” ),把运行服务器程序的机器称为 server。所以有时要根据上下文判断 client 与 server 是指软件还是硬件。它是软件 系统体系结构 ,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client 端和 Server 端来实现,降低了

13、系统的通讯开销。目前大多数 应用软件 系统都是 Client/Server 形式的两层结构,由于现在的软件应用系统正3 在向分布式的 Web 应用发展, Web 和 Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑 组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向 15。 参考文献 1 陈国军 .java 程序设计基础(第二版) M. 北京 :清华大学出版社 .2009 2 Bruce Eckel. Java 编程思想 (第 4 版) M. 北京 :机械工业出版社 ,20

14、05 3 邵维忠,杨芙清 .面向对象的系统分析 M .南宁:西科技出版社 .1998 2 伽玛等 .设计模式:可 复用面向对象软件的基础 M. 北京 :机械工业出版社 ,2000 5 Stephen J. Hartley. the Java programming language. New York : Oxford University Press, 1998. 6 李兰 .用 JAVA 编写网络通信程序 .期刊论文 科技资讯 .2009 年 7 (美 )Qusay H.Mahmoud. Java 分布式程序设计 M.国防工业出版社 ,2002 8 孙卫琴 .java 面向对象编程 M.电

15、子工业出版社, 2006 9 邵维忠 .杨芙清 .面向对象的系统分析 M .南宁:西科技出版社 .1998 10 程克非 . 嵌入式系统设计 M. 北京 : 机械工业出版社 ,2010 11 姚云 .基于 JavaEE 的在线考试系统研究与实现 .重庆大学 .2007 12 (美 )Charles N.Fischer 等 .编译器构造 :C 语言描述 M.北京 :机械工业出版社 ,2005 13 古力 .宽带网多媒体信息终端技术及其应用的研究 .中国科学院声学研究所 .2003 14 (美 )H.M.Deitel 等 .Internet 与 WWW 程序设计教程 :第 2 版 .下册 .服务器端应用编程 M. 北京 :清华大学出版社 .2003 15 (美 ) Craig Hunt. TCP/IP 网络管理 M. 北京 :电子工业出版社 ,1997 4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 文献综述

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。