还剩18页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
掰南袤通工程职业技术学浣毕业设计(论文)2008题目:〃1^1^!1^!!!1*\\、xjx✓T%XlX xTxXjX xjx✓rx XrxXTX✓Jx✓T%XlX XiX✓Tx xjx✓Js〃系(部):计算机系专业班级:计应高0601******姓名:指导老师:do{取一个操作符字节;根据操作符的值执行一个动作;}while程序未结束由于指令系统的简单性,使得虚拟机执行的过程十分简单,从而有利于提高执行的效率指令中操作数的数量和大小是由操作符决定的如果操作数比一个字节大,那么它存储的顺序是高位字节优先字节码指令流一般只是字节对齐的指令tableswitch和lookup是例外,在这两条指令内部要求强制的4字节边界对齐
2、寄存器Java虚拟机的寄存器用于保存机器的运行状态,与微处理器中的某些专用寄存器类似Java虚拟机的寄存器有四种1pc:Java程序计数器;2optop:指向操作数栈顶端的指针;3frame:指向当前执行方法的执行环境的指针;4vars:指向当前执行方法的局部变量区第一个变量的指针Java虚拟机是栈式的,它不定义或使用寄存器来传递或接受参数,其目的是为了保证指令集的简洁性和实现时的高效性特别是对于寄存器数目不多的处理器所有寄存器都是32位的
3、栈Java虚拟机的栈有三个区域:局部变量区、运行环境区、操作数区1局部变量区每个Java方法使用一个固定大小的局部变量集它们按照与vars寄存器的字偏移量来寻址局部变量都是32位的长整数和双精度浮点数占据了两个局部变量的空间,却按照第一个局部变量的索引来寻址,虚拟机提供了把局部变量中的值装载到操作数栈的指令,也提供把操作数栈中的值写入局部变量的令2运行环境区在运行环境中包含的信息用于动态链接,正常的方法返回以及异常传播
①动态链接运行环境包括对指向当前类和当前方法的解释器符号表的指针,用「支持方法代码的动态链接方法的class文件代码在引用要调用的方法和要访问的变量时使用符号动态链接把符号形式的方法调用翻译成实际方法调用,装载必要的类以解释还没有定义的符号,并把变量访问翻译成与这些变量运行时的存储结构相应的偏移地址动态链接方法和变量使得方法中使用的其它类的变化不会影响到本程序的代码
②正常的方法返回如果当前方法正常地结束了,在执行了一条具有正确类型的返回指令时,调用的方法会得到一个返回值执行环境在正常返回的情况下用于恢复调用者的寄存器,并把调用者的程序计数器增加一个恰当的数值,以跳过已执行过的方法调用指令,然后在调用者的执行环境中继续执行下去
③异常和错误传播异常情况在Java中被称作Error(错误)或Exception(异常),是Throwable类的子类,在程序中的原因是:a.动态链接错,如无法找到所需的class文件b.运行时错,如对一个空指针的引用程序使用throw语句当异常发生时,Java虚拟机采取如下措施检查与当前方法相联系的catch子句表每个catch子句包含其有效指令范围,能够处理的异常类型,以及处理异常的代码块地址与异常相匹配的catch子句应该符合下面的条件:造成异常的指令在其指令范围之内,发生的异常类型是其能处理的异常类型的子类型如果找到了匹配的catch子句,那么系统转移到指定的异常处理块处执行;如果没有找到异常处理块,重复寻找匹配的catch子句的过程,直到当前方法的所有嵌套的catch子句都被检查过由于虚拟机从第一个匹配的catch子句处继续执行,所以catch子句表中的顺序是很重要的因为Java代码是结构化的,因此总可以把某个方法的所有的异常处理器都按序排列到一个表中,对任意可能的程序计数器的值,都可以用线性的顺序找到合适的异常处理块,以处理在该程序计数器值下发生的异常情况如果找不到匹配的catch子句,那么当前方法得到一个〃未截获异常〃的结果并返回到当前方法的调用者,好像异常刚刚在其调用者中发生一样如果在调用者中仍然没有找到相应的异常处理块,那么这种错误传播将被继续下去如果错误被传播到最顶层,那么系统将调用一个缺省的异常处理块
(3)操作数栈区机器指令只从操作数栈中取操作数,对它们进行操作,并把结果返回到栈中选择栈结构的原因是:在只有少量寄存器或非通用寄存器的机器(如Intel486)上,也能够高效地模拟虚拟机的行为操作数栈是32位的它用于给方法传递参数,并从方法接收结果,也用于支持操作的参数,并保存操作的结果例如,iadd指令将两个整数相加相加的两个整数应该是操作数栈顶的两个字这两个字是由先前的指令压进堆栈的这两个整数将从堆栈弹出、相加,并把结果压回到操作数栈中每个原始数据类型都有专门的指令对它们进行必须的操作每个操作数在栈中需要一个存储位置,除了long和double型,它们需要两个位置操作数只能被适用于其类型的操作符所操作例如,压入两个int类型的数,如果把它们当作是一个long类型的数则是非法的在Sun的虚拟机实现中,这个限制由字节码验证器强制实行但是,有少数操作(操作符dupe和swap),用于对运行时数据区进行操作时是不考虑类型的
4、堆Java的堆是一个运行时数据区,类的实例(对象)从中分配空间Java语言具有无用单元收集能力:它不给程序员显式释放对象的能力Java不规定具体使用的无用单元收集算法,可以根据系统的需求使用各种各样的算法
5、方法区方法区与传统语言中的编译后代码或是Unix进程中的正文段类似它保存方法代码(编译后的java代码)和符号表每个类文件包含了一个Java类或一个Java界面的编译后的代码可以说类文件是Java语言的执行代码文件为了保证类文件的平台无关性,Java虚拟机规范中对类文件的格式也作了详细的说明其具体细节请参考Sun公司的Java虚拟机规范Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等
1.
2.
2.3Java类文件(.class文件)每个类文件包含了一个Java类或一个Java界面的编译后的代码可以说类文件是Java语言的执行代码文件为了保证类文件的平台无关性,Java虚拟机规范中对类文件的格式作了详细的说明其具体细节请参考Sun公司的Java虚拟机规范第二章系统分析
2.1可行性分析随着Intemet技术的发展,论坛已成为网络上不可缺少的交流方式之一目前,大多数论坛系统都是基于B/S模式,其个性化特点明显降低,无法实现具有个性化的功能要求操作是以鼠标为最基本的操作方式,无法满足快速操作的要求页面动态刷新,响应速度明显降低应用服务器运行数据负荷较重给数据库访问造成较大的压力本系统采用C/S模式设计由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快软件功能设计个性化,具有直观、简单、方便的特点,可以满足客户个性化的功能要求;操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求
2.2需求分析在网络技术逐渐渗入社会生活各个层面的今天,以前网站上的论坛管理统要用户登陆以后才能进行相关访问及互动而随着网络互联技术的进步,现在网站投票只需打开网页就可进行论坛留言论坛对象是很多的,各个层次都可进行论坛访问,大至国家领导,小至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络直接点击相应就可进行网上论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型网站论坛管理系统,用户可选择自己的看法目前,网上论坛已不是新事物,许许多多的别具特色的论坛在网络上随处可见为了体现论坛的特色,我们搜索各式各样的论坛版面,为了改变网上现存论坛的普遍风格,追加功能,更便于管理,于是开发出一套界面友好美观,易于使用的论坛管理系统系统包括主要的功能新用户的注册,会员密码取回,会员登录,用户自己修改信息,管理员删除用户,游客浏览留言,会员新增留言,会员留言回复,管理员删除留言这些功能,可以应付一般的用户需要网上论坛系统是一个会员登录留言系统网上游客能够浏览论坛上的帖子,并且能够注册成为用户论坛注册会员能够修改自己的资料信息,申请版主,发表帖子,让大家积极参与讨论论坛管理员能够便于管理论坛,包括浏览游客留言,审核留言,对于不健康或是不利于社会稳定的留言能进行删除操作,会员管理以及论坛版主管理等等
2.3系统用例图用户首先登录再注册或进入主界面,进入主界面后可以进行讨论、个人设置、发布新主题进入讨论时可以回复主题发送帖子
2.4系统主要类用户IjromLogicalViewaUserNamegUserPassword回复主题图用例图2-1表类2-1第三章数据库的设计
2.1数据库的选择SQL Server2000能够满足今天的商业环境要求不同类型的数据库解决方案它一种应用广泛的数据库管理系统,具有许多显著的优点易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等SQL Server2000还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势
2.2数据库的访问方法
3.
2.1连接方式java连接数据库有两种方式,一是通过jdbc/odbc桥需要配置数据源,二是通过jdbc驱动.这里使用后者,因为前者涉及到jdbc到odbc转换的问题,执行效率很低.
1、jdbc驱动下载jdbc驱动包安装之后,打开那个文件夹,会看到三个jar包,只要把这三个jar包设置到环境变量classpath里就可以了
2、假设驱动程序安装在d:\sqldriver目录下,那么就在classpath中添d:\sqldriver\msbase.jar;d:\sqldriver\mssqlserver.jar;d:\sqldriver\msutil.jar;或者在使用NetBeans JAVA开发环境中在项目面板中分库9添加JAR文档,加入三个jar
3、如果使用的是windows xp系统的sp2版本,就需要给SQL Server2000打一个sp3a或者sp4的补丁.打完之补丁之后才可以使用
4.
2.2安装时候的问题
1、补丁安装过程中常见问题1安装过程中出现“以前进行的程序创建了挂起的文件操作,运行安装程序前,必须重新启动”,2解决方法、步骤
①重启机器,再进行安装,如果发现还有该错误,请按下面步骤;
②在开始-〉运行中输入regedit;
③到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager位置;
④选择文件->倒此保存;
⑤在右边窗口右击PendingFileRenameOperations,选择删除,确认;
⑥重启安装,问题解决注意:如果还有同样问题,检查其它注册表中是否有该值存在,如有请删掉3在安装SQL ServerSP3,有时候会出现无论用windows认证还是混和认证,都出现密码错误的情况,这时查看临时目录下的sqlsp.out,会发现以下描述[TCP/IP Sockets]Specified SQL server notfound.[TCP/IP Sockets]ConnectionOpen Connect.其实这是SQL ServerSP3的一个小bug,在安装sp3的时候,没有监听TCP/IP端口4解决方法、步骤打开SQLserver客户器网络实用工具和服务器网络工具,确保启用的协议中1包含name pipe,并且位置在第一位;2HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo],,DSQUERY,,=,,DBNETLIB,/,如果没有,自己建立;
③停止mssql;
④进行安装即可
1.赵池龙,《实用软件工程》[M],电子工业出版社,2006,
82.(美)微软公司,Olicrosoft SQL Server2000数据库编程》[M],北京希望电子出版社,2001,
53.赵池龙,《SQL SERVER2000开发和管理应用》[M],人民邮电出版社,2005,
84.孙卫琴,《Java面向对象编程》[M],电子工业出版社,2006,
75.阎宏,《Java与模式》[M],电子工业出版社,2002,
106.(美)Rogers Cadenhead,《Java编程入门经典》[M],人民邮电出版社,2006,
37.孙卫琴,《精通Struts:基于MVC的Java web设计与开发》[M],电子工业出版社,2004,
1.1开发背景当今世界科学技术飞速发展,尤其以通信、计算机、网络为代表的互联网技术更是日新月异由于计算机互联网在政治、经济、生活等各个领域的发展、运用以及网络的迅速普及和全社会对网络的依赖程度,计算机网络已经成为国家的经济基础和命脉,成为社会和经济发展强大动力,其地位越来越重要目前,大多数论坛系统都是基于B/S模式,由于B/S架构管理软件只安装在服务器端Server上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器Server端完全通过WWW浏览器实现,极少部分事务逻辑在前端Browser实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想因此,本系统采用C/S结构C/S Client/Server结构,即大家熟知的客户机和服务器结构它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快同时采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大因此本系统主要适用于中小企业,学校,社区等局域网范围内使用,以便于网络维护与管理
1.2开发环境
1.
2.1SQL ServerSQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的非过程化语言、统一的语言、是所有关系数据库的公共语言SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制
1.
2.2JAVA虚拟机
1.
51.
2.
2.1什么是Java虚拟机Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统Java语言的一个非常重要的特点就是与平台的无关性而使用Java虚拟机是实现这一特点的关键一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译.Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码字节码,就可以在多种平台上不加修改地运行Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行
1.
2.
2.2Java虚拟机体系结构Java虚拟机由五个部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收集堆Garbage-collected-heap、一个方法区域这五部分是Java虚拟机的逻辑成份,不依赖任何实现技术或组织方式,但它们的功能必须在真实机器上以某种方式实现
1、Java指令集Java虚拟机支持大约248个字节码每个字节码执行一种基本C运算,例如,把一个整数加到寄存器,子程序转移等Java指令集相当于Java程序的汇编语言Java指令集中的指令包含一个单字节的操作符,用于指定要执行的操作,还有0个或多个操作数,提供操作所需的参数或数据许多指令没有操作数,仅由一个单字节的操作符构成虚拟机的内层循环的执行过程如下。
个人认证
优秀文档
获得点赞 0