java网络编程复习题-.pdf
《java网络编程复习题-.pdf》由会员分享,可在线阅读,更多相关《java网络编程复习题-.pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java网络编程期末复习题(I/O、多线程、网络编程、数据库操作)一、单选题1、下列关于Java 线程的说法那些是正确的()A、每一个Java 线程可以看成由代码、一个真实的CPU 以及数据三部份组成。B、创建线程的两种方法中,从Thread 类中继承的创建方式可以防止出现多父类问题。C、Thread 类属于 java.util 程序包。D、以上说法无一正确。2、运行下列程序,会产生什么结果?()public class X extends Thread implements Runable public void run()System.out.println(this is run();p
2、ublic static void main(String args)Thread t=newThread(new X();t.start();A、第一行会产生编译错误B、第六行会产生编译错误C、第六行会产生运行错误D、程序会运行和启动3、下列选项中,用于定义接口的关键字是()A、import B、implements C、interfaceD、protected 4定义类头时能使用的修饰符是()。A)private B)static C)abstract D)protected 5、下面哪个方法不可以在任何时候被任何线程调用?()A、wait()B、sleep()C、yield()D、syn
3、chronized(this)6.下列关于线程优先级的说法中,正确的是A)线程的优先级是不能改变的B)线程的优先级是在创建线程时设置的C)在创建线程后的任何时候都可以设置D)B 和 C7.线程生命周期中正确的状态是A)新建状态、运行状态和终止状态B)新建状态、运行状态、阻塞状态和终止状态C)新建状态、可运行状态、运行状态、阻塞状态和终止状态D)新建状态、可运行状态、运行状态、恢复状态和终止状态8.Thread 类中能运行线程体的方法是A)start()B)resume()C)init()D)run()9 在程序读入字符文件时,能够以该文件作为直接参数的类是A)FileReaderB)Buffe
4、redReader C)FileInputStream D)ObjectInputStream 10)java.io包的 File类是A)字符流类B)字节流类C)对象流类D)非流类11)下列描述中,正确的是A)在 Serializable接口中定义了抽象方法B)在 Serializable接口中定义了常量C)在 Serializable 接口中没有定义抽象方法,也没有定义常量D)在 Serializable接口中定义了成员方法12.java 中用于创建文件对象的类是()A FileB.Object C.Thread D.Frame 13.从键盘上输入一个字符串创建文件对象,若要判断该文件对象为
5、目录文件或数据文件,可使用下列哪个方法?()A getPath()B.getName()C.isFile()D.isAbsolute()14.下列哪个类不对直接创建对象?()AInputStream B.FileInputStream C.BufferedInputStream D.DataInputStream 15.从键盘上输入多个字符时,为了避免回车换行符的影响,需要使用下列哪个流方法?()A write()B.flush()C.close()D.skip()16.以对象为单位把某个对象写入文件,则需要使用什么方法?()A.writeInt()B writeObject()C.write
6、()D.writUTF()17.下列哪个类的方法能够直接把简单数据类型写入文件?()AOutputStream B.BufferedWriter C.ObjectOutputStream.D.FileWriter 18.若一个类对象能被整体写入文件,则定义该类时必须实现下列哪个接口?()A.Runnable B.ActionListener C.WindowsAdapter D.Serializable 19.下列哪种类型的数据能以对象的形式写入文件?()AStringB.Frame C.Dialog D.Button 20.File 类的方法中,用于列举某目录下的子目录及文件的方法是()Al
7、ong length()B.long lastModified()C.String list()D.String getName()21.能够以字符串为单位写入文件数据的流类是()A.FileOutputStream B.FileWriter C.BufferedWriter C.OutputStream 22.能够向文件输入逻辑型数据的类是:()A.FileOutputStream B.OutputStream C.FileWriter D.DataOutputStream 23.在线程同步中,为了唤醒另一个等待的线程,使用下列方法()A.sleep()B.wait()C notify()D
8、.join()24.为了得到当前正在运行的线程,可使用下列哪个方法?()A getName()B.Thread.CurrentThread().B.sleep()D.run()25.以下()不属于线程的状态。A就绪状态B。运行状态C。挂起状态D。独占状态26当线程被创建后,其所处的状态是()A阻塞状态B。运行状态C、就绪状态D、新建状态27当线程调用start()后,其所处状态为()A阻塞状态B。运行状态C、就绪状态D、新建状态28Thread.sleep()方法调用后,当等待时间未到,该线程所处状态为()A阻塞状态B。运行状态C、就绪状态D、新建状态29新生状态的线程其可能直接进入的状态是(
9、)A阻塞状态B、运行状态C、新建状态D、结束状态30 Thread.sleep()方法调用后,当等待时间已到,该线程所处状态为()A阻塞状态B。运行状态C、就绪状态D、新建状态31当线程因异常而退出run()后,其所处状态为()A阻塞状态B。运行状态C、就绪状态D、结束状态32 wait()方法首先是哪个类的方法?()A.Object B.Thread.C.Runnable D.File 33.如果我们想实现“先把要写入文件的数据先缓存到内存中,再把缓存中的数据写入文件中”的功能时,则需要使用下列哪个类?()A.FileReader B.OutputStream C.FilterOutputS
10、treamD.DataOutputStream 34.用 read()方法读取文件内容时,判断文件结束的标记为()A.0 B.1 C-1 D.无标记35以下哪个方法只对使用了缓冲的流类起作用?()A.read()B.write()C skip()D.flush()36.Java提供的类InetAddress来进行有关Internet地址的操作.()A.Socket B.ServerSocket C.DatagramSocket D InetAddress37.InetAddress类中哪个方法可实现正向名称解析?()A.isReachable()B.getHostAddress()C.getH
11、osstName()D.getByName()38.为了获取远程主机的文件内容,当创建URL 对象后,需要使用哪个方法获取信息()A.getPort()B.getHost C.openStream()D.openConnection()39.java 程序中,使用TCP 套接字编写服务端程序的套接字类是()A.Socket B.ServerSocket C.DatagramSocket D.DatagramPacket 40.ServerSocket 的监听方法accept()的返回值类型是()A.void B.Object C.Socket D.DatagramSocket 41.Serve
12、rSocket 的 getInetAddress()的返回值类型是()A.Socket B ServerSocket D.InetAddressD,.URL 42.当使用客户端套接字Socket 创建对象时,需要指定()A服务器主机名称和端口B、服务器端口和文件C、服务器名称和文件D服务器地址和文件43使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法()A getInetAddress()B.getLocalPort()C.getOutputStream()D.getInputStream()44.使用 UDP 套接字通信时,常用哪个类把要发送的信息打包?()A.String B.
13、DatagramSocket C.MulticastSocket D.DatagramPacket 45.使用 UDP 套接字通信时,哪个方法用于接收数据()A.read()B.receive()C.accept()D.Listen()46.若要取得数据包的中源地址,可使用下列哪个语句()?A getAddress()B.getPort()C.getName()D.getData()47.要使用 java 程序访问数据库,则必须首先与数据库建立连接,在建立连接前,应加载数据库驱动程序,该语句为()A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)B.
14、DriverManage.getConnection(“”,”,”)C.Result rs=DriverManage.getConnection(“”,”,”).createStatement()D.Statement st=DriverManage.getConnection(“”,”,”).createStaement()48.要使用 java 程序访问数据库,则必须首先与数据库建立连接,该语句为()A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)B.DriverManage.getConnection(“”,”,”)C.Result rs=D
15、riverManage.getConnection(“”,”,”).createStatement()D.Statement st=DriverManage.getConnection(“”,”,”).createStaement()49.java 程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?()A.executeQuery()B.executeUpdate()C executeEdit()D.executeSelect()50.java 程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?()A.executeQuery()B.executeUpdate()C e
16、xecuteEdit()D.executeSelect()二、填空题1Stdout System.out作为 PrintStream的实例,来实现stdout,它代表的是屏幕2Stdin System.in作为 InputStream类的一个实例来实现stdin,它代表的是 键盘,你可以使用其中两个成员函数,read()让你从输入中读一个字节,skip(long n)让你在输入中跳过n 个字节。3 Java 中的 IO 流分为两种,一种是字节流,另一种是 字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStream,Reader,Wr
17、iter。它们通过重载read()和write()方法定义了6 个读写操作方法。4 File 类不是一個標準的I/O 类,在 java.io 类库中它是唯一的non-stream 類別,既不能讀取文件內容,也不能修改文件內容,主要作用是收集檔案(或目錄)的相關信息,例如:建立文件对象、修改文件名、设置文件属性、测试文件属性5目录是一个包含其他文件和路径列表的File 类。当你创建一个File 对象 且它是目录时,isDirectory()方法 返回 ture。这种情况下,可以调用该对象的String list()方法 来提取该目录内部其他文件和目录的列表6.所有的输出过滤流都是抽象类_ _的子
18、类。(FilterOutputStream)7、字符输入流BufferedReader使用了 _ _技术。(PrintStream)8、InputStreamReader负责 将InputStream转化成Reader,而OutputStreamWriter 则将 OutputStream转化成Writer。实际上是通过byte和String来关联。9、设a.txt 为当前目录下的一个文本文件,则以字符方式向该文件写数据时,需要建立的输出流通道为:new FileWriter(“a.txt”);10.随 机 访 问 文 件 类 是RandomAccessFile,它 实 现 了 与DataIn
19、putStream,DataOutputStream类同样实现的接口DataInput,DataOutput.。11实现多线程的两种方式是:1、继承Thread 类;2、实现 Runnable 接口。12、取得当前线程的语句是:Thread.currentThread();13主线程的名称是main,默认创建的第一个子线程的名称是thread-014.可以调用Thread 类的方法getPriority()和 setPriority()来存取线程的优先级,线程 的 优 先 级 界 于1(MIN_PRIORITY)和10(MAX_PRIORITY)之 间,缺 省 是5(NORM_PRIORITY
20、)。15.(1)当多个线程同时运行时,会产生数据错误及其它冲突问题。Java 语言提供了线程同步控制机制,一是锁定共享资源,使得在任何时刻只有一个线程能够访问共享资源,以保持共享资源的完整和一致,二是让互相通信的线程运行,以保证通信的正确性。(2)线程之间的通信有两种方法:一是把共享变量和方法封闭在一个类中,二是利用系统方法和控制线程通信.实现对共享资源互拆访问的方法是在方法声明中加入synchronized 关键字来声明一个访问共享资源的方法,或者通过synchronized 关键字来声明synchronized 块。16、守护线程一般被用于在后台为其它线程提供服务。调用方法isDaemon
21、()来判断一个线程是否是守护线程,也可以调用方法setDaemon()将一个线程设为守护线程。17、InetAddress 是用于封装IP 地址和 DNS 的一个类。18、TCP/IP 套接字是最可靠的双向流协议。等待客户端的服务器使用ServerSocket 类,而要连接到服务器的客户端则使用Socket类。19、 包中提供了一个类MulticastSocket,允许数据报以广播方式发送到该端口的所有客户。20.在 TCP/IP 协议的传输层除了TCP 协议之外还有一个UDP 协议。几个标准的应用层协议 HTTP,FTP,SMTP 使用的都是TCP 协议。UDP 协议 主要用于需要很强的实时
22、交互性的场合,如网络游戏,视频会议等21、当我们得到一个URL对象后,就可以通过它读取指定的WWW 资源。这时我们将使用URL的方法 openStream(),其定义为:InputStream openStream();22、URL 的构造方法都声明抛弃非运行时异常MalformedURLException,因此生成URL对象时,我们必须要对这一例外进行处理,通常是用try-catch语句 进行捕获。23、一个 Statement 对象,可以执行多个sql 语句以后,批量更新。这多个语句可以是delete、update、insert 等或兼有24、Java 数据库操作基本流程:取得数据库连接、
23、执行sql 语句、处理执行结果、释放数据库连接。25、下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是public class Test implements Runnable public static void main(String args)Test t=new Test();Thread tt=new Thread(t);tt.start();public void run()for(;)try ;catch(e)System.put.println(Hello);答:Thread.sleep(1000)In
24、terruptedException三、简答与程序分析、填空、设计题第一部分:简答1、线程的生命期内包括哪些状态?答:新建状态、就绪状态、运行状态、阻塞状态、死亡状态见下图:各状态之间的切换关系2、什么是线程的新建状态?答:线程对象已经创建,还没有在其上调用start()方法。死亡创建阻塞就绪运行3、什么是线程的可运行状态?答:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。当 start()方法调用时,线程首先进入可运行状态。在线程运行之后或者从阻塞、等待或睡眠状态回来后,也返回到可运行状态。4、什么是线程的死亡态?答:当线程的run()方法完成时就认为它死去。这个线程
25、对象也许是活的,但是,它已经不是一个单独执行的线程。线程一旦死亡,就不能复生。如果在一个死去的线程上调用start()方法,会抛出java.lang.IllegalThreadStateException 异常。5、调用 join()方法有何作用?答:保证当前线程停止执行,直到该线程所加入的线程完成为止。然而,如果它加入的线程没有存活,则当前线程不需要停止。6现有字符串S=”hello,java!”,则以此字符串生成待发送DatagramPacket 包 dgp 的语句是:答:Byte str=s.getbytes();DatagramPacket dgp=new DatagramPacket
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 网络 编程 复习题
限制150内