

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、诚信应考考出水平考出风格浙江大学城市学院2010-2011学年第一学期期末考试试卷2011年1月16口Java高级程序设计开课单位:计算分院;考试形式:开卷;考试时间:所需时间:120分钟题序得分评卷人得分一._简答题_(本人题共_7_题,每题_5_分,共_35一分)注意:回答问题尽量简明扼要。多线程可以使用Runnable接II。是否可以认为,通过Runnable接II实现多线程的方式与Thread类没有任何关系?如果你认为有关系,那么Runnable实现类与Thread类是什么关系?请举例说明。有关系;Thread类实现了Runnable接II,因此可以扩展TThread即实现了Runna
2、ble接II。采用“Runnable实现类”方式需要构造一个新的Thread对彖,并把Runnable实现类的实例作为参数传入Thread的构造器中Threadftask:Runnable)。举例:publicclassTestRunnablepublicstaticvoidmain(Stringargs)Threadthread=newThread(newAnTask();thread.start();classAnTaskimplementsRunnable(©Overridepublicvoidrun()/dosomething采用“扩展Thread类”方式无只需创建扩展Thr
3、ead类的实例(无参构造)即可,但是不推荐使用这种方法,因为它将任务和运行任务的机制混在了一起。将任务从线程中分离出来是比较好的设计。举例:publicclassTestThreadpublicstaticvoidmain(Stringargs)Threadthread=newAnThread();thread.start();classAnThreadextendsThread(©Overridepublicvoidrun()/dosomething2. 通过Jdbc可以访问数据库。很多情况下,既可以使用JDBC-ODBC驱动、也可以使用纯java驱动。请问两种驱动方式都有何特点和
4、优缺点?JDBC-ODBC桥接方式:就是搭建JDBC与ODBC之间的桥梁,(ODBC是微软的驱程,JDBC是甲骨文的驱程)你要在控制面板上指定数据源,通过数据源来建立连接。这样程序的可移植性并不高,需要有ODBC数据源,几乎只能在Windows平台下运行,跨平台性较差。而且当你换一台主机运行,必须先要去配置数据源,否则程序是无法运行的。纯Java方式,即JDBC连接方式,就是通过java代码直接与数据库建立连接关系,所以执行效率很高,而且可移植性较好,Java本身跨平台性较好,所以不存在平台的障碍,也无需配置数据源。早期的JDBC由于各人数据库厂商没有提供较完善的JDBC驱动器,所以JDBC-
5、ODBC成为一个主要的连接方式,但是现在不存在这种问题,只有Access数据库必须采用JDBC-ODBC方式桥接。请说明BorderLayout布局的特点。如果希望在BorderLayout布局的容器中放入多于5个的控件,那么需要如何处理?嵌套JPanel当应用程序需要配置文件时,既可以采用Properties属性文件、也可以采用XML文件。请简要分析它们各自的特点。Properties属性文件缺点:1、无法直接使用中文编码2、无法表现树形结构、数组结构等复杂数据结构优点:1、书写简单方便2、程序读取简单XML文件优点:1可拓展性xml中标记可以由程序员自己定义。2. xml与内容与形式的分离
6、(1)显示方式内嵌于数据当中(2)数据库搜索可以简单高效率的运行(3)XML是自我描述语言3. 遵守严格的语法要求缺点:1在数据中寻找信息非常困难(树状存储虽然搜索效率高但是插入和修改比较困难)2. 数据自身逻辑不得不让位于HTML语言3. 大数据量低效率4. XML文档做为数据提供者使用,没有数据库系统那样完善的管理功能5通信难,由于XML是元置标语言,任何人、公司和组织都可以利用它定义新的标准,这些标准间的通信就成了巨大的问题MVC是什么?请简要说明它的特点。MVC全名是ModelViewController,是模型(model)视图(view)控制器(controller)的缩写,一种软
7、件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户鬧绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。请简述JavaSwing/AWT的事件处理机制(说明事件源、事件监听器、以及它们的关系)。Page.322请举例说明什么情况下需要使用多线程。1、使用线程可以把占据时间长的程序中的任务放到后台去处理2、用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度3、增加算法效
8、率4、在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下可以释放一些珍贵的资源如内存占用等等。得分二._论述题_(本大题共_3_题,每题_15一分,共_45_分。)1. Java集合框架中有List、Set、Map等接口,请分析回答以下问题:(1) 请分别说明上述三个接口的实现类的特点。(2) 请分析比较一下如何选用上述三个接II的实现类,即什么情况下选用List实现类,什么情况下应该使用Set实现类,什么情况下使用Map实现类。(3) 使用接II变量操作集合对彖有何优点和缺点?比如,以下两行代码都各自有何优缺点?Lista=newArrayList()
9、;/用List接II类型变量a来访问ArrayList对象ArrayListb=newArrayList();/用ArrayList类型变量b来访问ArrayList对象(1)List特点:元素有放入顺序,元素可重复Map特点:元素按键值对存储,无放入顺序Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)(2)List实现类:元素可重复且有序的情况下;Set实现类:元素不可重复且无需的情况下;Map实现类:需要存储键值对的情况下。(3)方式1:利用Java继承的机制,隐藏了List实现类的细节,让
10、使用者无需考虑List接II的具体实现方式,有利于代码的维护(一个简单的例子,如需更换List的实现类,只需修改在创建对象的那一句代码),缺点就是无法调用ArrayList扩展的方法,例如方法trimToSize();方式2:直接把ArrayList这个实现类耦合进代码,不利于代码的维护。优点就是可以调用ArrayList扩展的方法。根据具体情况选择相应的方式。2. 关于OR映射,请回答以下问题:(1)什么是OR映射?OR映射有何用途?(2)请简要说明OR映射的基本原理。(3)访问数据库既可以通过OR映射方式,也可以直接通过JDBC。请分析比较两种访问方式的优缺点?(1)OR映射即对象关系映射
11、,0为Object即面向对象程序中的对象,R为Relation即关系数据库。使用OR映射的编程方法使得Java程序员可以使用对象编程思维来操纵数据库,使得程序设计得更加精炼易于理解与修改,把复杂的SQL语句与业务逻辑解耦,使得程序更符合高内聚低耦合的设计思想。(2)创建与数据库表对应的实体类(Entity或Object),设置相应的域于数据库表的属性做映射,然后设置get/set方法,然后封装操作SQL语句(查删改)到对应的DAO(DataAccessObjects数据访问对象)中,由这两种对彖构成即为数据持久层,封装了底层数据操作细节,提供相应的接I给业务逻辑层使用,分工明确,体现了高内聚低
12、耦合的思想。(3)OR映射:采用低耦合高内聚的设计思想,分别封装了数据、数据访问以及业务逻辑,虽然程序设计会变得更为复杂,但是从长期的扩展性、健壮性、可理解性来说,这样的付出是值得的,尤其是在大型项目中显得尤为必要。JDBC:直接使用JDBC接II操纵数据库,使得程序模式简单,而且效率会比OR映射略高,更易于性能和存储的优化等,但是在复杂的项目中使得数据库操作和业务逻辑耦合在一起,变的难以调试,所以适合小型项目、业务逻辑简单的项目。3. 关于Java网络编程,请回答以下问题:(1)在使用TCP协议进行网络编程时,需要使用哪些关键类(包扌舌侦听、数据传送时所涉及的核心类)?并请简要描述这些类的用
13、途。(2)在使用UDP协议进行网络编程时,需要使用哪些关键类(包括侦听、数据传送时所涉及的核心类)?并请简要描述这些类的用途。(3)请简要说明上述两种网络通信方式的各自优缺点。Serversocket:此类实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操作,然后可能向请求者返回结果。Socket:此类实现客户端套接字(也可以就叫"套接字”)。套接字是两台机器之间的通信端点。Datagramsocket:此类表示用来发送和接收数据报包的套接字。DatagramPacket:此类表示UDP数据报包。1、TCP是基于连接的,UDP是基于无连接2、对系统资源的要求(
14、TCP较多,UDP少)3、UDP程序结构较简单4、流模式与数据报模式5、TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证得分三_编程题_(本人题共_2_题,每题一10_分,共20_分。)1.设计一个线程类,该线程类可以执行长时间任务,并且可以被中途终止。要求如下:该线程类的类名为TaskThread,为Thread的子类。该线程类中有一个excuteTask方法(为实例方法),该方法用于模拟一种操作(比如压缩文件操作),具体实现代码可以用注释方式说明,无需实现。线程启动执行时,在run方法中可以循环调用上述excuteTask方法。换言之,线程所执行的长时间任务就是对ex
15、cuteTask方法的循坏调用。该线程类有一个stopTask方法(为实例方法)。stopTask方法被调用后,可以终止线程的执行(即终止循环)。publicclassTaskThreadextendsThreadprivatebooleanisExit;/退出标志publicvoidexcuteTask()/dosomethingtryThread.sleep(lO);catch(InterruptedExceptione)e.printStackTrace();System.out.println("dosomething");Overridepublicvoidrun
16、()System.out.println(HTaskThreadbegin11);while(!isExit)this.excuteTask();System.out.println(HTaskThreadstop1');publicvoidstopTask()this.isExit=true;publicstaticvoidmain(Stringargs)TaskThreadtaskThread=newTaskThread();taskThread.start();tryThread.sleep(lOO);catch(InterruptedExceptione)e.printStac
17、kTrace();taskThread.stopTask();实现电话拨号器程序,界面如卞:设计要求如下:设i一个MyTelephone类,该类从JFrame继承。窗体的尺寸大小是:宽500,高300。在主窗体的中央区域放入一个JPanel容器,该容器使用GridLayout布局,共有12个JButton按钮,各按钮排放位置如上图所示。在主窗体的南方区域放入1个JLabel对象。当点击按钮时,可以将点击的按钮所对应的数字填入JLabel中。比如,图中的“1338899999”就是依次点击"1”、“3”、“3”、“8”、“8”、“9”、“9”、“9”、“9”、“9”等按钮后显示的电话号
18、码。importjava.awt.BorderLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swingFrame;importjavax.swing.JLabel;importjavax.swingJPanel;publicclassMyTelephoneextendsJFrameimplementsActionListenerprivateJLabelnumLabel=newJLabel();publicMyTelephone()this.setSize(500,300);JPanelnumPanel=newJPanel();numPanel.se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国草本植物饮料行业市场深度分析及发展趋势与投资研究报告
- 空调购销合同
- 2025-2030中国自卸汽车行业市场发展趋势与前景展望战略研究报告
- 安达市屋面防水维修工程施工合同
- 2025-2030中国脑脊液管理产品行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国端乙烯基聚二甲基硅氧烷行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国移动支付SD卡行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国离心管架行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国碎浆行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国石油天然气检测行业市场发展分析及前景趋势与投资研究报告
- 湖北省2025届高三(4月)调研模拟考试英语试题及答案
- 血液制品规范输注
- 2025-2030中国生物医药行业市场深度调研及发展趋势与投资前景预测研究报告
- 专利代理师高频题库新版2025
- 肝硬化护理新进展
- 2025年征信业务合规培训
- 2025年全国国家版图知识竞赛题库及答案(中小学组)
- 2025项目部与供应商安全生产物资供应合同
- 统借统还合同协议
- 2025年上半年中国十五冶金建设集团限公司公开招聘中高端人才易考易错模拟试题(共500题)试卷后附参考答案
- XX镇卫生院综治信访维稳工作方案
评论
0/150
提交评论