JAVA高级程序设计阶段测试题A卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java高级程序设计阶段测试题(A卷)
本试卷共6道题。
其中5道问答题,1道机试题。
考试时长3小时。
题号123456总分成绩
1.XML有哪些解析技术?区别是什么(10分)
1使用DOM解析XML文件
2使用SAX解析XML文件
3使用JDOM解析XML文件
4使用dom4j解析XML文件
5DOM:易于修改文档、适用于小型文档、多次操作XML数据、加载完整的XML文档
6SAX:事件驱动、适合大型文档、节省大量内存空间、有限的标准功能
7JDOM:JDOM使用SAX解析器来分析XML文档,构建JDOM树、使程序更加的直观。
8dom4j:dom4j是一个简单的灵活的开放源代码的库支持XML、XPath和XSLT。
Dom4j API使用了java集合框架并完全支持DOM、SAX和JAXP。
9什么是线程、进程和程序。
(10分)
线程:一个线程是一个程序内部的一个顺序控制流。
进程:就是一个程序在给定的活动空间和初始条件,在一个处理机上的执行过程。
可以简单的理解为进程就是一个在运行的程序
程序:多个线程组成的一个可执行的代码。
10TCP和UDP有什么区别(10分)
两者都是套接字
TCP
较可靠的双向流协议
发送任意数量的数据
提供消息确认、错误检测和错误恢复等服务
UDP
比较不可靠
11简述HashSet、HashMap、ArrayList各自的特点和应用场景。
(10分) HashSet:实现Set接口的hash table(哈希表),依靠HashMap来实现的,特点是:
以结点的关键字为自变量,通过一定的函数关系(散列函数)计算出对应的函数值,以这个值作为该结点存储在散列表中的地址。
应用场景:当元素需要维护或者把查找时间看的很重的情况下。
HashMap:特点是HashMap对key进行散列。
应用场景是在常量时间内插入元素,或找出一组key-value pair。
通过其构造函数,使用者可调整效能表现。
因为它允许你设定容量和负载因子。
ArrayList:特点:在增删改查的操作中我们如果用到ArrayList将更加快速。
应用场景:是我们可以将其看作是能够自动增长容量的数组。
什么是IO流,举例说明流的分类(20分)
流是指一连串流动的数据信号,是以先进先出的方式发送和接收数据的通道。
IO流是指输入流和输出流的简写。
流的分类:
根据流动方向的不同,流分为输入流和输出流;
对于输入和输出流,由于传输格式的不同,又分为字节流和字符流
12程序设计题(40分)
要求:实现一个网络聊天室,实现群聊功能。
编写服务器端程序:
创建一个服务器套接字(ServerSocket),绑定到指定端口;
调用accept方法,侦听来自客户端的请求,如果客户发出请求,则接受连接,返回通信套接字(Socket);
创建线程来处理客户机:在线程中调用Socket的getInputStream和getOutputStream方法,获得输入/输出流,开始网络数据的接收和发送;
关闭通信套接字,关闭服务器套接字。
编写客户端程序:
创建一个套接字(Socket),向服务器的侦听端口发出请求;
与服务器正确连接后,调用Socket的getInputStream和getOutputStream方法,获得输入/输出流,启动线程开始网络数据的接收和发送;
关闭通信套接字。