Java高级题库v1.4_第1页
Java高级题库v1.4_第2页
Java高级题库v1.4_第3页
Java高级题库v1.4_第4页
Java高级题库v1.4_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、试题库模板第一单元 类加载和反射(一)题号试题1Class.forName(className, true, currentLoader)该方法返回值类型是(A)A.Class<?>B.Set<?>C.StringD.List<?>2创建Class对象有三种方式,如下正确的是:(ABC )A.Class.forName("全限定名");B.类.classC.对象.getClass();D.new Class();3反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有信息。( )

2、4反射机制的优点就是可以实现动态创建对象和编译,体现出很大的灵活性( )5Java的反射没有什么缺点,而且灵活,应该大量使用( ×)6通过反射技术我们可以得到:(ABC )A.构造器相关信息B.属性相关信息C.方法的修饰符、返回类型、名称、参数列表、返回值。D.方法体内容7通过反射技术我们可以得到构造器、属性、方法的相关信息。( )8下面那个是反射的关键字?(A) A.Reflection B.Thread C.Interface D.Collection9Reflectiond的起源是?(B) A.Object B.Class C.Field D.Method10反射机制的优点就是

3、可以实现动态创建对象和编译,体现出很大的灵活性(对)11动态获取类的信息,以及动态调用对象的方法的功能来自于线程(错)1.1.1 了解反射概述12java的反射机制导入的是java.util包内(错)1.1.1 了解反射概述13何谓反射机制?根据网文,java中的反射机制可以如此定义:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。1.1.1 了解反射概述14在反射中,newInstance()方法的作用的是:(AD )A.创建对象B.声明对

4、象C.初始化对象D.开辟内存空间1.1.4 使用反射分析对象(属性,方法,构造器调用)15newInstance()的创建对象时,要调用对象的无参构造器。( )1.1.4 使用反射分析对象(属性,方法,构造器调用)16如果对象没有无参构造器,newInstance()方法是不能使用的。( )1.1.4 使用反射分析对象(属性,方法,构造器调用)第二单元 类加载和反射(二)题号试题题型难度第 节课内容知识点1类加载过程中经历那些阶段?类从被加载到虚拟机内存中开始,直到卸载出内存为止,它的整个生命周期包括了: 加载、验证、准备、解析、初始化、使用和卸载 这7个阶段七2.1.2

5、类加载过程2类在加载过程中,虚拟机需要做那些事情? 1、 通过一个类的全限定名来获取定义此类的二进制字节流。 2、 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。 3、 在Java堆中生成一个代表这个类的java.lang.Class对象,作为方法区这些数据的访问入口。七2.1.2 类加载过程3类的验证阶段主要分几步?文件格式验证、元数据验证、字节码验证和符号引用验证。七2.1.2 类加载过程 4代码分析题,请说出类加载过程?class SingleTon private static SingleTon single

6、Ton = new SingleTon(); public static int count1; public static int count2 = 0; private SingleTon() count1+; count2+; public static SingleTon getInstance() return singleTon; public class Test public static void main(String args) SingleTon singleTon = SingleTon.getInstance(); System.out.println("

7、count1=" + singleTon.count1); System.out.println("count2=" + singleTon.count2); 答:1:SingleTon singleTon = SingleTon.getInstance();调用了类的SingleTon调用了类的静态方法,触发类的初始化 2:类加载的时候在准备过程中为类的静态变量分配内存并初始化默认值 singleton=null count1=0,count2=0 3:类初始化化,为类的静态变量赋值和执行静态代码快。singleton赋值为new Singl

8、eTon()调用类的构造方法 4:调用类的构造方法后count=1;count2=1 5:继续为count1与count2赋值,此时count1没有赋值操作,所有count1为1,但是count2执行赋值操作就变为0八2.1.2 类加载过程5、Java虚拟机中有几种类加载器?BootStrap,ExtClassLoader,AppClassLoader七2.1.4 加载器第三单元 多线程(一)题号试题题型难度第 节课内容知识点1下列说法中错误的一项是( A ) A. 线程就是程序B.线程是一个程序的单个执行流 C.多线程是指一个程序的多个执行流 

9、;D.多线程用于实现并发二3.1.1了解线程和进程2下列说法中正确的是(BCD)A.线程就是程序B.线程是一个程序的单个执行流C.多线程是指一个程序的多个执行流D.多线程用于实现并发三3.1.1了解线程和进程3用(currentThread()可以得到主线程。/返回对当前正在执行的线程对象的引用。(Thread)一3.2 线程的创建和启动4通过继承Runnable类或实现Thread接口都能创建多线程类(×)四3.2 线程的创建和启动5一个进程可以同时包含多个线程( )四3.1.1了解线程和进程6多线程程序设计的含义是可以将一个程序任务分成几个并行的线程 ( )四3.1.1

10、了解线程和进程7程序开发者必须创建一个线程去管理内存的分配。( × )四3.1.1了解线程和进程8C 和 Java 都是多线程语言。(错 )四3.1 线程概述9线程间调用涉及的开销比进程间通信多( 错 )四3.1.1了解线程和进程10掌握创建线程的两种方式,正确的是:( AB )A.实现Runnable接口 B.继承Thread类 C.继承Runnable类 D.实现Thread接口三3.2 线程的创建和启动11线程是操作系统中一个程序及其数据在处理机上顺序执行时所发生的活动。( ×)四3.1 线程概述12下列说法中正确的是(ABC)A.一个线程是一个Thread类的实例B

11、.线程从传递给纯种的Runnable实例run()方法开始执行C.线程操作的数据来自Runnable实例D.新建的线程调用start()方法就能立即进入运行状态三3.2 线程的创建和启动13在线程的Thread对象上调用start()方法,而不是run()或者别的方法。( )四3.2 线程的创建和启动14多进程在操作系统中同时运行多个任务(程序)。( )四3.1.1了解线程和进程15多线程在同一应用程序中有多个顺序流同时执行。( )四3.1.1了解线程和进程16实现线程体的方式除了继承Thread类,还可以实现(B)接口。 A、Cloneable B、Runnable C、Iterable D

12、、Serializable二3.2 线程的创建和启动17创建线程的方式有哪些?线程的入口方法是?启动线程的方法是答案:继承 Thread 实现Runnable ,入口是run 启动方法是start。七3.2 线程的创建和启动18下列关于线程的说法以中,正确的一项是(ABC) A.由同一类创建的多个线程都同时运行结束 B.创建线程只能通过继承java.lang.Thread类 C.调用suspend()方法暂停的一个线程将不会再被重新执行D.程序的执行完毕与超级线程(daemon threads)无关三3.2 线程的创建和启动19下列说法中错误的一项是(D) A. 一个线程是一个Thread类的

13、实例 B. 线程从传递给纯种的Runnable实例run()方法开始执行 C. 线程操作的数据来自Runnable实例 D. 新建的线程调用start()方法就能立即进入运行状态二3.2 线程的创建和启动20编译运行下面的代码会发生什么? 答案:D public class Bground extends Thread public static void main(String argv) Bground b = new Bground(); b.run(); public void start() for (int i = 0; i <10; i+) System.out.print

14、ln("Value of i = " + i); A.编译错误,Thread类中的run方法没有定义 B.运行时错误,Thread类中的run方法没有定义 C.编译无错,打印0到9. D.编译无错,不打印任何值二3.2 线程的创建和启动21下列方法中可以用来创建一个新线程的是(BC) A、实现java.lang.Runnable接口并重写start()方法B、实现java.lang.Runnable接口并重写run()方法C、继承java.lang.Thread类并重写run()方法 D、实现java.lang.Thread类并重写start()方法三3.2 线程的创建和启

15、动22在Java程序中,run()方法的实现有两种方式: 实现(Runnable)接口和继承(Thread)类。一3.2 线程的创建和启动23启动一个线程是用run() 还是start()? 答:启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。六3.2 线程的创建和启动24能够创建线程的方法,以下说法正确的是( D )A.继承RunnableB.实现ThreadC.实例化RunnalbeD.没有正确答案二3.2 线程的创建和启动25关于线程的启动是通

16、过哪个方法来实现的( A )A.start() B.join() C.Sleep( ) D. currentThread()二3.2 线程的创建和启动26下列方法中可以用来创建一个新线程的是(BC) A、实现java.lang.Runnable接口并重写start()方法B、实现java.lang.Runnable接口并重写run()方法C、继承java.lang.Thread类并重写run()方法 D、实现java.lang.Thread类并重写start()方法三3.2 线程的创建和启动第四单元 多线程(二)题号试题题型难度第 节课内容知识点1下列说法中错误的项有( BD )A. 

17、;一个类继承Thread类,该类的实例就是一个线程对象B.通过调用run方法启动一个线程C.通过调用start方法启动一个线程D.新建的线程调用start()方法就能立即进入运行状态三3.2 线程的创建和启动4.1掌握线程的生命周期2开启线程需要使用的方法是:( B )A.sleep() B.start() C.run() D.stop()二4.1掌握线程的生命周期3以下属于多线程生命周期的是:(ABCD)A.开始 B.就绪 C.运行 D.结束三4.1掌握线程的生命周期4以下关于多线程说法正确的是:(ABCD )A.线程都可以设置名字,也可以获取线程的名字,连主线程也不例外。B.获取当前线程的

18、对象的方法是:Thread.currentThread();C.当线程目标run()方法结束时该线程完成。D.线程的调度是JVM的一部分,在一个CPU的机器上,实际上一次只能运行一个线程。一次只有一个线程栈执行。三3.1 线程概述4.1掌握线程的生命周期5java线程的基本状态和阻塞状态都有哪些? 新建,就绪,阻塞,运行态,死亡七4.1掌握线程的生命周期6Thread类里面,等待该线程终止的方法是( C )A.getName() B.setName(true) C.join() D.run()二4.2 控制线程7关于sleep方法,下面描述不正确的是( A )A.Sleep方法指让线程结束运行

19、。B.Sleep方法指定的毫秒数内让当前正在执行的线程休眠(暂停执行),C.Sleep(1000):是指让线程休眠1000毫秒D.当前运行的线程休眠,其他线程可以照常运行。二4.2 控制线程8程序开发者必须创建一个线程去管理内存的分配。( 错)四4.2 控制线程9线程的休眠方法是( A ) A.sleep   B.wait   C.yield   D.start二4.2 控制线程10以下哪个方法可以让正在执行的线程暂停一段时间,并进入阻塞状态不需要其它线程唤醒它( A)A.sleepB.wait

20、C.NotifyD.run二4.2 控制线程11下列哪个方法可以使线程从运行状态进入阻塞状态(A)A. sleep B.waitC.yield D.start二4.2 控制线程12下列哪个一个操作不能使线程从等待阻塞状态进入对象阻塞状态(D) A. 等待阴塞状态下的线程notify()唤 B.等待阻塞状态下的纯种被interrput()中断 C. 等待时间到 D.等待阻塞状态下的线程调用wait()方法二4.2 控制线程13线程的执行可通过使用( sleep()方法来暂时中止。在睡眠后,线程将进入就绪状态一4.2 控制线程14当调用一个正在进行线程的stop( )方法时,该线程便会进入休眠状态

21、。(错)四4.2 控制线程15Java 语言中提供了一个d线程,自动回收动态分配的内存。 A 异步 B 消费者 C 守护 D 垃圾收集二4.2.2 了解什么是后台线程(Daemon Thread)16主线程结束时守护线程立即结束( y )四4.2 控制线程17线程间调用涉及的开销比进程间通信多( n )四4.2 控制线程18关于多线程,下列说法正确的是:( ABC)A.Run()是执行方法,start()是启动方法。B.之所以出现线程,就是为了更好的利用CPU,让她更加“精明”的干活。C.start()在执行时调用的是run方法体。D.调用start()方法线程立马运行。三4.1掌握线程的生命

22、周期19下列关于Thread类提供的线程控制方法的说法中,错误的一项是(D) A.在线程A中执行线程B的join()方法,则线程A等待直到B执行完成 B.线程A通过调用interrupt()方法来中断其阻塞状态 C. 若线程A调用方法isAlive()返回值为true,则说明A正在执行中 D. currentThread()方法返回当前线程的引用二4.2 控制线程20b方法使对象等待队列的第一个线程进入就绪状态。 A run B notify C yield D sleep二4.2 控制线程21方法 resume( )负责重新开始d线程的执行。 A 被 stop( )方法停止 B 被 slee

23、p( )方法停止 C 被 wait( )方法停止 D 被 suspend( )方法停止二4.2 控制线程22下面哪个能直接导致一个线程停止执行?( ABD ) A. 调用 yield() 方法 B. 在一个对象上调用 wait() 方法 C. 在一个对象上调用 notify () 方法 D. 在一个对象上调用 Interrupt() 方法三4.2 控制线程23下列哪些方法不可以使线程从运行状态进入其他阻塞状态(BCD) A.sleep B.wait C.yield D.start三4.2 控制线程24处于新建状态的线程可以使用的控制方法是 ( start() ) 和 ( stop() )一4.

24、2 控制线程4.1掌握线程的生命周期25一个线程在调用它的start方法,之前,该线程将一直处于出生期。(对)四4.1掌握线程的生命周期4.2 控制线程26如果线程的 run 方法执行结束或抛出一个不能捕获的例外,线程便进入等待状态。( 错)四4.2 控制线程27如果线程死亡,它便不能运行。(对)四4.2 控制线程28线程的生命周期是一个线程从创建到执行完的整个过程。( )四4.1掌握线程的生命周期29下列关于Thread类提供的线程控制方法的说法中,错误的一项是(C) A. 在线程A中执行线程B的join()方法,则线程A等待直到B执行完成 B. 线程A通过调用interrupt()方法来中

25、断其阻塞状态 C. 若线程A调用方法isAlive()返回值为true,则说明A正在执行中 D. currentThread()方法返回当前线程的引用二4.2 控制线程30以下代码的调试结果为?(D) public class Bground extends Thread public static void main(String argv) Bground b = new Bground(); b.run(); public void start() for (int i = 0; i <10; i+) System.out.println("Value of i = &q

26、uot; + i); A编译错误,没有定义线程的run方法; B由于没有定义线程的run方法,而出现运行错误; C. 编译通过,运行输出 values 0 to 9 D. 编译通过,运行无输出二4.1掌握线程的生命周期31下列关于线程优先级的说法中,正确的是(AC) A、线程的优先级是可以改变的 B、线程的优先级是在创建线程时设置的C、在创建线程后的任何时候都可以设置 D、B和C三4.2 控制线程32下列哪个方法可以使当前运行的线程回到可运行的状态,让具有相同优先级的线程获得运行的机会,也就是线程的让步。( C )A.Join() B.Sleep() C.yield() D.interrupt

27、()二4.2 控制线程33线程的优先级是在Thread类的常数( MIN_PRIORITY )和 ( MAX_PRIORITY) 之间的一个值一4.2 控制线程34在Java中,高优先级的可运行线程会抢占低优先级线程。(对)四4.2 控制线程35线程可以用yield方法使低优先级的线程运行。(错)四4.2 控制线程36一个线程可以调用yield方法使其他线程有机会运行。( 对)四4.2 控制线程37用b方法可以改变线程的优先级。 A run B setPrority C yield D sleep二4.2 控制线程38线程通过c方法可以使具有相同优先级线程获得处理器。 A runB setPr

28、ority C yield D sleep二4.2 控制线程39下列哪个方法可以使当前运行的线程回到可运行的状态,让具有相同优先级的线程获得运行的机会,也就是线程的让步。( C )A.Join() B. Sleep() C. yield() D. interrupt()二4.2 控制线程第五单元 多线程(三)题号试题题型难度第 节课内容知识点1同步是用于确保资源一次只能被一个线程使用的过程( y )四5.1线程同步2synchronized关键字不可以用于修饰方法。( n )四5.1线程同步3使用synchronized来实现线程的同步,但是也会产生( A )的问题。A.线程的死锁 B.线程的

29、睡眠 C.线程的启动 D.线程的运行二5.1线程同步4synchronized关键字不可以用于修饰方法。( 错 )四5.1线程同步5同步是用于确保资源一次只能被一个线程使用的过程( 对 )四5.1线程同步6同步和异步有何异同,在什么情况下分别使用他们?举例说明。答:如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。八5.1线程同步7当一个线程进

30、入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?答:不能,一个对象的一个synchronized方法只能由一个线程访问。八5.1线程同步8请说出你所知道的线程同步的方法。答:wait():使一个线程处于等待状态,并且释放所持有的对象的lock。sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。Allnotity():唤醒所有

31、处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。八5.1线程同步9下列说法中,错误的一项是(B ) A. 对象锁在synchronized()语句执行完之后由持有它的线程返还 B. 对象锁在synchronized()语句中出现异常时由持有它的线程返还 C. 当持有锁的线程调用了该对象的wait()方法时,线程将释放其持有的锁 D. 当持有锁的线程调用了该对象的构造方法时,线程将释放其持有的锁二5.1线程同步10sleep() 和 wait() 有什么区别? 答:sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依

32、然保持,到时后会自动恢复。调用sleep不会释放对象锁。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。七5.1线程同步11关于一下代码运行结果说法正确的是( A )public class ThreadDemo2 public static void main(String args) new TestThread2().start(); new TestThread2().start(); new TestThread2()

33、.start(); new TestThread2().start(); class TestThread2 extends Thread private int tickets=20;/定义20张火车票 public void run() boolean boo=true; while(boo) if(tickets>0) System.out.println(Thread.currentThread().getName()+ "出票"+tickets-); else break; A. 一共打印出80张票 B. 一共打印出20张票C. 一共打印出40张票 D. 程

34、序编译错误二5.1线程同步12关于下面一段代码,哪些描述是正确的 答案:public class Agg public static void main(String argv) Agg a = new Agg(); a.go(); public void go() DSRoss ds1 = new DSRoss("one"); ds1.start(); class DSRoss extends Thread private String sTname = "" DSRoss(String s) sTname = s; public void run()

35、 notwait(); System.out.println("finished"); public void notwait() while (true) try System.out.println("waiting"); wait(); catch (InterruptedException ie) System.out.println(sTname); notifyAll(); A.编译错误 B.能够编译,输出“waiting" C.能够编译, 输出“waiting",紧接着输出"finish" D.运行时

36、错误,会抛异常二5.1线程同步第六单元 网络编程(一)题号试题题型难度第 节课内容知识点1(InetAddress)是用于封装IP地址和DNS的一个类。一6.1.2 IP地址和端口号2某主机的IP地址为5,子网掩码为40。该主机的有限 广播地址为55(F)四6.1.2 IP地址和端口号3Http协议默认端口号是:( C)A.25 B.8080 C.80 D.23二6.1.2 IP地址和端口号4POP3协议默认端口号是:(B )A.25 B.110 C.80 D.23二6.1.2 IP地址和端口号5若要取得数据包的中源地址

37、,可使用下列哪个语句( A ) A getAddress() B. getPort() C. getName() D.getData()二6.2.1使用InetAddressss6IP地址分为三类:A,B,C类,那么下列合法的C类IP地址是( cD )A. 2 B. 00 C. 00 D. 221三6.1.2 IP地址和端口号7Java网络程序位于TCP/IP参考模型的哪一层?(B) A 网络层互联层 B 应用层 C 传输层网络 D 主机-网络层二6.1.1网络基础8Java提供的类InetAddress来

38、进行有关Internet地址的操作.( D ) A. Socket B.ServerSocket C. DatagramSocket D.InetAddress二6.2.1使用InetAddressss9InetAddress类中哪个方法可实现正向名称解析?( B ) A. isReachable() B. getHostAddress() C. getHosstName() D.getByName()二6.2.1使用InetAddressss10如果在chapter1下建立了一个子文件夹images,并且在其中放置了一个图片文件1.jpg,那么以下URL正确的是:(A B)A. http:/

39、localhost/asptemp/chapter1/images/1.jpg B. /asptemp/chapter1/images/1.jpg C.http:/localhost/inetpub/wwwroot/asptemp/chapter1/images/1.jpgD./inetpub/wwwroot/asptemp/chapter1/images/1.jpg三6.2.3使用URL和URLConnection11为了获取远程主机的文件内容,当创建URL对象后,需要使用哪个方法获取信息( C) A.getPort() B.get

40、Host C.openStream() D.openConnection()二6.2.3使用URL和URLConnection12当我们得到一个URL对象后,就可以通过它读取指定的WWW资源。这时我们将使用URL的方法(openStream(),其定义为:(InputStream openStream();一6.2.3使用URL和URLConnection13URL是统一资源定位器的缩写。( )四6.2.3使用URL和URLConnection14下列关于TCP协议说法错误的是( C )A.TCP协议它为两台计算机之间的连接起了重要作用。 B.TCP协议会让它们建立一个连接、发送和接收数据以及

41、终止连接。C.TCP协议被称作一种不可靠的端对端协议D.TCP重发一切没有收到的数据,进行数据内容准确性检查并保证分组的正确顺序。二6.1.1网络基础15TCP是什么的简称 A A,Tranfer Control Protocol B,Taitan Control Protocol C,Tranfer Conting Protocol D,Tranfer Control Photo二6.1.1网络基础16通过TCP协议传输,得到的是一个(D )的数据流。 A,无序的无差错 B,无序的有差错 C,顺序的有差错 D,顺序的无差错二6.1.1网络基础17Java中采用的通信协议有(AB)A.TCPB

42、.UDPC.TIPD.UCP三6.1.1网络基础18java程序中,使用TCP套接字编写服务端程序的套接字类_ServerSocket_一19TCP与UDP比较的特点:ABCA,面向连接的协议,在socket之间进行数据传输之前必然要建立连接,所以在TCP中需要连接时间。B,TCP传输数据大小限制,一旦连接建立起来,双方的socket就可以按统一的格式传输大的数据。C,TCP是一个可靠的协议,它确保接收方完全正确地获取发送方所发送的全部数据。 D,TCP是一个不可靠的协议,它确保接收方完全正确地获取发送方所发送的全部数据。三6.1.1网络基础20以下哪些协议位于传输层?(A D) A TCP

43、B HTTP C SMTP D UDP EIP三6.1.1网络基础21已建立的URL对象不能被改变。( )四6.2.3使用URL和URLConnection第七单元 网络编程(二)题号试题题型难度第 节课内容知识点1关于网络编程,下列说法正确的是:( ABC)A.使用的类主要在java.io.*和.*两个包中。B.客户端使用Scoket类。C.服务器端使用ServerScoket类。D.在使用ServerScoket类时,构造器里需要写ip地址。三7.1.1TCP协议基础7.2.1UDP协议基础2以下哪些是网络编程中对服务器端的描述:(ABC )A.创建套接字socketB.监听端口C.接收连

44、接 acceptD.定义地址三7.1.1TCP协议基础3以下哪些是网络编程中对客户端的描述:(ABC )A.创建套接字B.定义地址C.连接connectD.接收连接 accept三7.1.1TCP协议基础4Taitan Control Protocol是TCP的简称( 错 )四7.1.1TCP协议基础5通过TCP协议传输,得到的是一个顺序的无差错的数据流。( 对 )四7.1.1TCP协议基础6简述基于tcp/ip的sokect的使用步骤?(1)创建Socket;(2)取得基于Socket的输入/出流;(3)通过流进行读/写操作;(4)关闭Socket七7.1.1TCP协议基础7问题:对于以下程

45、序代码: ServerSocket serverSocket=new ServerSocket(8000);serverSocket.setReuseAddress(true); 哪个说法是正确的?(C) a)以上代码运行时出错 b)以上代码编译时出错 c)以上代码尽管编译和运行不会出错,但对SO_REUSEADDR选项的设置无效 d)以上说法都不正确二7.1.1TCP协议基础8阅读以下代码,选择正确选项(BC)ServerSocket server=null;tryserver=new ServerSocket(4700);catch(Exception e) System.out.prin

46、tln("can not listen to:"+e);Socket socket=null;trysocket=server.accept();catch(Exception e) System.out.println("Error."+e);A.server=new ServerSocket(4700);该句代码创建一个Socket服务端,括号中的4700是设置客户端的端口号B.server=new ServerSocket(4700);该句代码创建一个Socket服务端,括号中的4700是设置服务端在这个端口监听客户端请求C.server.acce

47、pt();该方法是同步阻塞方法,等待客户端请求,获得一个Socket对象,继续往下执行D.server.accept();该方法会不断监听客户端请求,但不会阻塞线程三7.1.1TCP协议基础9在客户/服务器通信模式中,客户与服务器程序的主要任务是什么?(B C)a) 客户程序在网络上找到一条到达服务器的路由。b) 客户程序发送请求,并接收服务器的响应。c) 服务器程序接收并处理客户请求,然后向客户发送响应结果。d) 如果客户程序和服务器都会保证发送的数据不会在传输途中丢失.三7.1.1TCP协议基础10简述基于TCP及UDP套接字通信的主要区别 TCP,可靠,传输大小无限制,但是需要连接建立时

48、间,差错控制开销大。UDP,不可靠,差错控制开销较小,传输大小限制在64K以下,不需要建立连接。 七7.1.1TCP协议基础11关于socket通信下面说法错误的是( A )A.服务端可以自己找到客户端,并发送数据B.服务端会等在accept方法那里,直到有客户端请求并连接上为止C.socket双方是通过io流来进行传输数据 D.如果没有多线程支持,无法实现多个客户端同时连接服务端二7.1.1TCP协议基础12当使用客户端套接字Socket创建对象时,需要指定( A )A.服务器主机名称和端口B.服务器端口和TIPC.服务器PID和TID端口D.服务器地址和文件二7.1.1TCP协议基础13关

49、于以下代码,选项中说法正确的是(A)Socket socket=new Socket("",4700);A.Socket构造方法中第二个参数表示服务器的端口号B.Socket构造方法中第二个参数表示客户器的端口号C.Socket构造方法第一个参数表示服务端的IP地址,第二个参数表示客户端发送请求的端口D.没有正确答案二7.1.1TCP协议基础14进行TCP编程的时候,使用( a )类来表示一个客户端对象A. Socket B.DatagramPacket C. DatagramSocket D. ServerSocket;二7.1.1TCP协议基础15发送方和接收方的成对的两个socket之间必须建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行( B )数据传输 A,单向 B,双向 C,单向或双向 D,多向二7.1.1TCP协议基础16java在包中提供了两个类Socket和ServerSocket,分别用来表示双向连接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论