Java语言程序设计多线程和网络编程课外作业

news/2024/10/17 16:35:57/

还不速速给我点赞的吗


目录

选择题

填空题

判断题


1.HTTP协议服务的默认端口号是(          )

A、8080

B、空

C、8090

D、80

答案: D


2.Thread类位于下列那个包中?( )

A、java.awt

B、java.lang

C、java.util

D、java.io

答案:B


3.ServerSocket的监听方法accept()的返回值类型是(  )  

A、Object

B、void

C、DatagramSocket

D、Socket

答案:D


4.下列关于Socket类的描述中,错误的是(        )

A、Socket类中定义的getOutputStream()方法用于返回Socket的输出流对象;

B、Socket类中定义的close()方法用于关闭输入\输出流对象

C、Socket类中定义的getInputStream()方法用于返回Socket的输入流对象;

D、 Socket类中定义的getLocalAddress()方法用于获取Socket对象绑定的本地IP地址

答案:B


5.使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法(    )

A、getLocalPort()

B、getInetAddress()

C、getInputStream()

D、getOutputStream()

 答案:D


6.下列说法中错误的一项是(    ) 

A、共享数据的访问不一定全部使用synchronized加锁

B、共享数据的所有访问都必须使用synchronized加锁

C、所有的对共享数据的访问都是临界区

D、临界区必须使用syschronized标识

 答案:A

 解析:共享数据的所有访问一定要作为临界区,用synchronized标识,这样保证了所有的对共享数据的操作都通过对象锁的机制进行控制。


 7.编译运行下面的代码会发生什么(           )

public class Test {
    public static void main(String argv[]) {
        Pmcraven pm1 = new Pmcraven("one");
        pm1.run();
        Pmcraven pm2 = new Pmcraven("two");
        pm2.run();
    }
}
 
class Pmcraven extends Thread {
    private String sTname = "";
 
    Pmcraven(String s) {
        sTname = s;
    }
 
    public void run() {
        for (int i = 0; i < 2; i++) {
            try {
                sleep(1000);
            } catch (InterruptedException e) {
            }
            yield();
            System.out.println(sTname);
        }
    }
}

A、输出One One Two Two

B、输出Two Two One One

C、输出One Two One Two

D、编译错误

答案:A


 8.以下哪个类用于实现TCP通信的客户端程序?(               )

A、Client

B、ServerSocket

C、Server

D、Socket

答案:D


9.Java提供的类进行有关Internet地址的操作类型是(         )  .   

A、ServerSocket

B、InetAddress

C、Socket

D、DatagramSocket

答案:B


10.线程调用sleep()方法后,该线程将进入以下哪种状态?(                  )

A、阻塞状态

B、死亡状态

C、运行状态

D、就绪状态

 答案:A


11.InetAddress类中哪个方法可实现正向名称解析?(   )

A、isReachable()

B、getByName()

C、getHostAddress()

D、getHosstName()

答案:C


 12.使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法(    )

A、getLocalPort()

B、getInetAddress()

C、getInputStream()

D、getOutputStream()

答案:D


13.使用UDP协议通信时,需要使用哪个类把要发送的数据打包?   (                 )

A、ServerSocket

B、DatagramPacket

C、Socket

D、DatagramSocket

答案:C


14.下列关于Thread类提供的线程控制方法的说法中,错误的一项是(     ) 

A、若线程A调用方法isAlive()返回值为true,则说明A正在执行中

B、currentThread()方法返回当前线程的引用

C、线程A通过调用interrupt()方法来中断其阻塞状态

D、在线程A中执行线程B的join()方法,则线程A等待直到B执行完成

 答案:B


 15.Java语言具有许多优点和特点,下列选项中,反映了Java中并行机制的特点是(       )

A、多线程;

B、安全性;

C、平台无关性;

D、面向对象性;

答案:A

解析:

    A:多线程使可执行程序具有同时保持几个线程执行的能力,从而使Java实现并行机制

    B:Java通过删除了指针和内存分配,并在解释器执行字节代码之前检查和一系列安全措施等保障Java程序及用户数据的安全


16.下列哪个方法可以使线程从运行状态进入其他阻塞状态(       )

A、wait

B、start

C、sleep

D、yield

答案:C


17.编译运行下面的代码会发生什么(         )

public class Test extends Thread {
    private String sThreadName;
    public static void main(String argv[]) {
        Test h = new Test();
        h.go();
    }
    Test() {
    }
    Test(String s) {
        sThreadName = s;
    }
    public String getThreadName() {
        return sThreadName;
    }
    public void go() {
        Test first = new Test("first");
        first.start();

        Test second = new Test("second");
        second.start();
    }
    public void start() {
        for (int i = 0; i < 2; i++) {
            System.out.println(getThreadName() + i);
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                System.out.println(e.getMessage());
            }
        }
    }
}

A、输出first0, first1, second0, second1.

B、输出first0, second0, first1, second1

C、运行时错误

D、 编译错误

答案:A


18.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(         )

A、跨平台

B、可移植

C、多线性

D、安全性

答案:C


19.下列有关线程的叙述中正确的一项是(    ) 

A、当一个线程因为抢占机制而停止运行时,它被放在可运行队列的前面

B、使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行

C、一旦一个线程被创建,它就立即开始运行

D、一个线程可能因为不同的原因而终止并进入终止状态

 答案:B

 解析:C:一个线程创建以后并不马上启动,此时线程处于新建状态


20.下面关于join()方法描述正确的是(              )

A、join()方法是用于线程休眠;

B、join()方法是用于线程插队;

C、join()方法是用于线程启动;

D、join()方法是用于线程同步

 答案:B


21.以下哪个是ServerSocket类中用于接收来自客户端请求的方法?(               )

A、receive()

B、get()

C、accept()

D、getOutputStream()

答案:C


22.下列说法中错误的一项是(      )

A、线程是一个程序的单个执行流

B、多线程用于实现并发

C、 线程就是程序

D、多线程是指一个程序的多个执行流

答案:C


23.当使用客户端套接字Socket创建对象时,需要指定(     )     

A、服务器名称和文件

B、服务器端口和文件

C、服务器地址和文件

D、服务器主机名称和端口

答案:D


24.下列关于UDP协议特点的描述中,错误的是(  )。

A、在UDP协议中,数据的发送端和接收端不建立逻辑连接;

B、UDP协议消耗资源小,通信效率高,通常都会用于音频、视频和普通数据的传输;

C、在UDP协议连接中,必须要明确客户端与服务器端;

D、UDP协议在传输数据时不能保证数据的完整性,因此在传输重要数据时不建议使用UDP协议;

答案:C

解析:UDP协议是无连接通信协议,所以不需要明确客户端和服务端逻辑链接。


25.下列说法中错误的一项是(      )

A、线程从传递给Runnable实例run()方法开始执行

B、一个线程是一个Thread类的实例

C、新建的线程调用start()方法就能立即进入运行状态

D、线程操作的数据来自Runnable实例

 答案:C


 26.下面关于IP地址的描述中,错误的是()。

A、IP地址每个字节用一个十进制数字(0-255)表示

B、192.168.1.360是一个合格的IP地址

C、IP地址目前的两个常用版本分别是IPv4和IPv6

D、IP地址可以唯一标识一台计算机

答案:B

解析:通常会将IP地址写成十进制的形式,一个字节用一个十进制数字(0~255)表示,数字间用符号( . ) 分开,eg: 127.0.0.1.


 27.在以下哪种情况下,线程进入就绪状态?(                     )

A、线程调用了notify()方法时

B、线程调用了sleep()方法时

C、线程调用了yield()方法时

D、线程调用了join()方法时

答案:A


填空题


28.在Thread类中,提供了一个start()方法,该方法用于开启一个新线程,当新线程启动后,系统会自动调用                         方法。

答案:run()


29.使用UDP协议开发网络程序时,需要使用的两个类分别为DatagramPacket和                         

答案:DatagramSocket


30.在JDK中,IP地址用                                        类来表示,该类提供了许多和IP地址相关的操作。

答案:InetAddress


 31.线程的优先级用1~10之间的整数来表示,其中                     代表优先级最高。

答案:10


32.要将某个线程设置为后台线程,需要调用该线程的                             方法,该方法必须在该线程启动之前调用

答案:setDaemon(true)


判断题


33.一个进程可以包含多个线程

答案:

解析:一个进程可以包含多个线程,一个线程只能对应一个进程。一个程序至少有一个进程。进程是操作系统资源分配的基本单位,而线程是程序执行的最小单位


34. 在创建发送端的DatagramPacket对象时,需要指定发送端的目标IP地址和端口号。(              )

答案:


35. DatagramSocket类中提供了accept()方法用于接收数据报包。

 答案:


36.同步代码块中的锁对象可以是任意类型的对象

答案:

解析:同步代码块中的锁对象可以是任意类型的对象,但多个线程共享的锁对象必须是唯一的。当线程执行同步代码块时,首先会检查锁对象的标志位,默认情况下标志位为1,此时线程会执行同步代码块,同时将锁对象的标志位置为0。


37.由于UDP是面向无连接的协议,可以保证数据的完整性,因此在传输重要数据时建议使用UDP协议。(       ) 

答案:

解析:UDP无法保证数据的完整性,传输效率高,但不能保证数据的完整性。


38.门户网站的服务器都是多线程实现的 

答案:


39.多个线程并发执行时,各个线程中语句的执行顺序是确定的,但是线程之间的相对执行顺序也是确定的。(     )

答案:


40.java.net包中的DatagramPacket类用于封装UDP通信中发送或者接收的数据

答案:


41.UDP协议是面向无连接的协议,可以保证数据的完整性

答案:

解析:UDP无法保证数据的完整性,传输效率高,但不能保证数据的完整性。


42.多线程程序设计的含义是可以将一个程序任务分成几个并行的任务。

答案:

解析:每一个程序在执行过程中,可以产生多个线程,每个线程执行一个子任务,各个线程之间并行执行,每个子任务合起来共同构成一个任务


43.线程的优先级是在Thread类的常数MIN_PRIORITY 和 MAX_PRIORITY 之间的一个值 。(       )

答案:


44.当创建一个线程对象时,该对象表示的线程就立即开始运行

答案:


45.Socket类用于创建客户端程序,当两个Socket建立了专线连接后,连接的一端既能向另一端连续写入字节,也能从另一端读取字节

答案:


46.在Java程序中,run()方法的实现有两种方式有实现Runnable接口和继承Thread类。

答案:


47.静态方法不能使用synchronized关键字来修饰。

答案:


48.TCP协议是面向连接的通信协议,每次连接的创建都需要经过“三次握手”。

答案:


49.如果前台线程全部死亡,后台线程也会自动死亡

答案:


50.多个线程并发执行时,各个线程中语句的执行顺序是确定的,但是线程之间的相对执行顺序也是确定的

答案:


51.端口号是由4个字节大小的二进制数来表示的

答案:

解析:端口号不是由4个字节大小的二进制数来表示的,而是由16位二进制数表示的


 52.进程是一人内核级的实体,而线程是一个用户级的实体

答案:


53.线程的优先级是在Thread类的常数MIN_PRIORITY 和 MAX_PRIORITY 之间的一个值。

答案:


54.线程结束等待或者阻塞状态后,会进入运行状态。(         )

答案:

解析:只有处于就绪状态的线程才可能转换到运行状态


http://www.ppmy.cn/news/355642.html

相关文章

【嵌入式IMAGE 3】opencv的搭建

1. OpenCV源代码下载地址 https://opencv.org/releases/ 2. 在windows平台编译&#xff08;mingw版本&#xff09; 2.1 下载cmake https://cmake.org/files/ 2.2 配置编译器环境变量 2.3 打开cmake-gui.exe a.Use default native compilers 使用默认的本机编译器 b.Specify n…

扩展欧几里得算法

1.算法原理视频讲解&#xff1a;传送锚点 2.算法原理&#xff1a;传送锚点 3.算法应用精髓&#xff1a; 3.1 首先你得知道欧几里得算法求最大公约数 &#xff08;python中math库函数gcd就是用这个方法实现的&#xff09; python代码的gcd函数实现如下&#xff1a; def gcd(a, …

Java中LocalDateTime/DateTime与Date相互转化(java中时间转化)

1、LocalDateTime和Date为什么需要相互转化 LocalDateTime是JDK1.8出现的新特性&#xff0c;解决线程不安全的问题&#xff0c;但是当前很多的相关插件或者使用较低版本的时候&#xff0c;会依旧使用Date的情况&#xff0c;这个时候就需要两者之间的相互转化 2、JDK.8日期和时…

苹果6发布时间_苹果头戴式耳机AirPods Studio最快或于6月发布,售价2500元

苹果要自己做头戴式耳机的传闻很久之前就有了&#xff0c;后来被爆料苹果确实正在做自己的头戴式耳机&#xff0c;并且将其命名为AirPods Studio。 对于苹果自己的头戴式耳机人们一直非常关心&#xff0c;原因是苹果自己旗下的Beats的主打产品之一就是头戴式耳机&#xff0c;其…

维修iphone6无服务器,苹果6通病——插卡无服务维修思路和教程

马上注册,获取阅读精华内容及下载权限 您需要 登录 才可以下载或查看,没有帐号?注册 x iPhone手机每一代都有某个功能特别容易坏,我们管这种问题叫通病。比如苹果5S不充电、苹果6代的无服务、苹果6p的触摸不灵跳白条。。。。等。今天学妹给大家讲下苹果6无服务的大概维修思…

一分钟学一个 Linux 命令 - cat 和 tail

前言 大家好&#xff0c;我是 god23bin。今天我给大家带来的是 Linux 命令系列&#xff0c;每天只需一分钟&#xff0c;记住一个 Linux 命令不成问题。今天&#xff0c;需要你花费两分钟时间&#xff0c;因为我们要介绍的是两个常用的查看文件内容的命令&#xff1a;cat 和 ta…

家用电动绞肉机质检报告

家用绞肉机为电动模式&#xff0c;使用家用220V电源&#xff0c;越来越多的家庭开始使用这款产品&#xff0c;使家用绞肉机成为厨房的家用电器新宠。使家用绞肉机受到欢迎的原因是因为其不仅可以用来搅碎肉类&#xff0c;还可以用来搅碎花生、葱、蒜、香料等食物&#xff0c;这…

如何选购好用的家用绞肉机?丨外贸

看材质&#xff1a;因为是直接接触到食物的&#xff0c;家用绞肉机的材质最好是食品级别的&#xff0c;塑料一定要是PP材质的&#xff0c;就是婴儿奶瓶的那种材料。如果是不锈钢的话&#xff0c;就要是304不锈钢的&#xff0c;这种不锈钢也是食品级别的。 看功能&#xff1a;买…