注册 登录
重磅消息:开通VIP会员,获取平台所有项目,永久使用,详细请咨询QQ:3376762016
远程服务部署安装,售后服务,请加QQ1:3376762016,QQ2:3597230140(即将满员),QQ3:1399491757(已满)
查看: 1041|回复: 0
打印 上一主题 下一主题

Java考试复习题目

[复制链接]

该用户从未签到

3518

主题

3532

帖子

66万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
668946
QQ
跳转到指定楼层
楼主
发表于 2019-5-8 09:28:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. Java中为用户自定义线程类提供了两种方法,分别是:(           Thread类和(        实现Runnable接口。
2. Java中的IO按流动方向分为两种,一种是(    输入流         ),另一种是(   输出流           
3. TCP/IP协议的传输层除了TCP协议之外还有一个UDP协议几个标准的应用层协议HTTP,FTP,SMTP…使用的都是   UDP    协议    TCP     )协议主要用于实时交互性\局域网\组播等网络应用。
4. 在网络传输中,加密的目的在于(   包装数据安全                          ),认证的目的在于(                鉴别通信中另一端的真实身份                  
5. Java语言为UDP协议提供的基础套接字有DatagramSocket、(  DatagramSocket     注册端口     )和(      InetAddress             )。为TCP协议提供的基础套接字有(      Socket           )(          ServerSocket          )。
6. 在定义RMI服务接口时必须要继承(              Remote        )接口,运行RMI服务器端程序,需要执行(       rmic           )生成服务器端的桩,然后再执行(           rmiregistry               )产生RMI注册器。
7. Java体系结构提供了三类主要的安全API,分别是JCE,(         JAAS  JAAS      )和(        JSSE   JSSE        )。
8. 在定义可序列化类的成员变量时,可以通过关键字(            tranisant          )使该成员变量不能执行持久化操作。
9. Java异常处理中,用于抛出异常对象的关键字是(             throw           )。
10. JSSE中使用(       KeyStore                      )生成密钥库。
11. 使用UDP协议能实现信息在网络传播形式有三种方法:(        单播          ,广播和组播。
12. Java语言中,定制序列化的关键字(         transient       )或static 。
13. Java多线程中,用于同步锁的关键字是(       synchronized               )。
14. Java语言中,Scanner类的作用是( 扫描器,用来在控制台接收用户输入                       )。
15. Java语言中,将字符串转换为字节数组的方法(             getBytes()          )。
1. 在使用TCP套接字连接指定IP和端口时
             Socket s = new Socket(HostName, Port)
     可能会抛出什么异常? A
A) UnKnownHostException。          B) ArithException。
C) SocketTimeoutException。        D) BindException。
2. 对于以下程序代码:
class father{
Void doSomething(int a, int b){}
int doSomething(int a, int b){}
}
Class son extends father{
    int doSomething(int a, int b){}
}
下面哪些说法是不正确的? C
A) 以上程序代码可以顺利编译和运行通过。
B) 第2行和第3行方法的关系是重载。
C) 第3行和第6行方法的关系式覆盖。
D) 第2行和第6行方法的关系式覆盖。
3. Socket类的哪个方法返回Socket对象绑定的远程端口?B
A) getPort()                                                        B) getLocalPort()
C) getRemotePort()                 D)getAllPort()
D) 不存在这样的方法,因为Socket对象绑定的本地端口对程序是透明的。
4. 问题:以下是DatagramPacket的构造方法,哪些用于发送数据报?CD
A) public DatagramPacket(byte[] data,int length)
B) public DatagramPacket(byte[] data,int offset, int length)
C) public DatagramPacket(byte[] data, int length,InetAddress address,int port)
D) public DatagramPacket(byte[] data,int offset,int length,SocketAddress address)
5. RMI中,rmic的作用是(              D         )?
A) 编译Java源代码                                                       
B) 解释执行Java文件
C) 声明rmi注册服务器
D) 生成rmi桩程序
6. MulticastSocket的哪些方法要求MulticastSocket已经加入到主播组?(B)
A) send()方法                     B) receive()方法
C) connect()方法                  D) close()方法
7. 能够以字符串为单位写入文件数据的流类是哪一个? (B)
A) FileOutputStream                B) FileWriter
C) BufferedWriter                  D) OutputStream
8. 以下哪些方法属于Statement接口的方法?  (A)
A) execute()                    B) executeQuery()
C) executeDelete()              D) open()
9. 在使用TCP套接字连接指定IP和端口时
             Socket s = new Socket(HostName, Port)
     可能 会抛出什么异常? (D)
A) UnKnownHostException。
B) ConnectException。
C) SocketTimeoutException。
D) ArithException。
10. 以下(      A           )是 正确的?
A) InetAddress.getByName(computer);
B) InetAddress.getByAddress(222.24.12.8);
C) InetAddress.getLocalHost();
D) InetAddress.getByAllName(www.xupt.edu.cn);
11. Java语言中,关键字final 不 能修饰(     A               
A) 包                              B) 类
C) 成员方法                        D) 成员变量
12. file:///C:\Users\yinya\AppData\Local\Temp\ksohtml2924\wps1.png当客户端执行以下程序代码时:
             InetAddress socket=new InetAddress(“localhost”);
会出现什么情况? (D)
A) 运行正确。                B) 运行出错。
C) 编译通过。                D) 编译出错。
13. RMI中,rmic的作用是(      D                 )?
C) 编译Java源代码                                                       
D) 解释执行Java文件
C) 声明rmi注册服务器
D) 生成rmi桩程序
14. 问题:以下哪一段代码从data.obj文件中反序列化一个Date对象?(B)
A) ObjectInputStream out=new ObjectInputStream(
             new fileInputStream("data.obj"));
   out.readDate(new Date());  
B) ObjectInputStream out=new ObjectInputStream(
             new fileInputStream("data.obj"));
   out.readObject(new Date());  
C) FileInputStream out=new FileInputStream("data.obj");
   out.readDate(new Date());  
D) FileInputStream out=new FileInputStream(
             new ObjectInputStream"data.obj"));
   out.readObject(new Date());
15. 问题:当DatagramSocket接收到了来自任意一个主机的数据报,如果知道该数据报的发送者的UDP端口? (A)
A) 调用DatagramPacket的getPort()方法
B) 调用DatagramSocket的getPort()方法
C) 调用DatagramPacket的getRemotePort()方法
D) 调用DatagramSocket的getRemotePort()方法
16. RMI中,策略文件的后缀名是(          D              
A) txt                B) dat                C) store                D) policy
1. 使用java ServerSocket创建服务器ServerSocket的过程。
package socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class SocketService {
    //搭建服务器端
    public static void main(String[] args) throws IOException{
        SocketService socketService = new SocketService();
        //1、a)创建一个服务器端Socket,即SocketService
        socketService.oneServer();
    }
    public  void oneServer(){
        try{
            ServerSocket server=null;
            try{
                server=new ServerSocket(5209);
                //b)指定绑定的端口,并监听此端口。
                System.out.println("服务器启动成功");
                //创建一个ServerSocket在端口5209监听客户请求
            }catch(Exception e) {
                    System.out.println("没有启动监听:"+e);
                    //出错,打印出错信息
            }
            Socket socket=null;
            try{
                socket=server.accept();
                //2、调用accept()方法开始监听,等待客户端的连接
                //使用accept()阻塞等待客户请求,有客户
                //请求到来则产生一个Socket对象,并继续执行
            }catch(Exception e) {
                System.out.println("Error."+e);
                //出错,打印出错信息
            }
            //3、获取输入流,并读取客户端信息
            String line;
            BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
            //由Socket对象得到输入流,并构造相应的BufferedReader对象
            PrintWriter writer=new PrintWriter(socket.getOutputStream());
            //由Socket对象得到输出流,并构造PrintWriter对象
            BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            //由系统标准输入设备构造BufferedReader对象
            System.out.println("Client:"+in.readLine());
            //在标准输出上打印从客户端读入的字符串
            line=br.readLine();
            //从标准输入读入一字符串
            //4、获取输出流,响应客户端的请求
            while(!line.equals("end")){
            //如果该字符串为 "bye",则停止循环
                writer.println(line);
                //向客户端输出该字符串
                writer.flush();
                //刷新输出流,使Client马上收到该字符串
                System.out.println("Server:"+line);
                //在系统标准输出上打印读入的字符串
                System.out.println("Client:"+in.readLine());
                //从Client读入一字符串,并打印到标准输出上
                line=br.readLine();
                //从系统标准输入读入一字符串
            } //继续循环
            //5、关闭资源
            writer.close(); //关闭Socket输出流
            in.close(); //关闭Socket输入流
            socket.close(); //关闭Socket
            server.close(); //关闭ServerSocket
        }catch(Exception e) {//出错,打印出错信息
            System.out.println("Error."+e);
        }
    }
}
2. 线程的生命期内包括哪些状态,画出各状态之间的切换关系图。
五中基本状态
1. 新建状态(New
2. 就绪状态(Runnable
3. 运行状态(Running
4. 阻塞状态(Blocked
5. 死亡状态(Dead
3. 什么是序列化,给出类序列化所需要实现的接口名。
答:序列化就是一种用来处理对象流的机制
实现Serializable接口
4. 分析给出URL的格式,并解释各段的作用。
http表示要通过HTTP协议来定位网络资源
www.xupt.edu.cn:表示合法的因特网主机域名或者IP地址
8080:用于表示在传输层上交换信息的进程端口号
home/index.html:指定请求资源的URI
2. RMI中英文全称
RMI全称Remote Method Invocation
远程方法调用
3. JDK中英文全称
Java Development Kit
Java语言开发工具包
5. JAAS中英文全称
JAAS 全称 Java Authentication and Authorization Service ,Java认证和授权服务
6. JCE中英文全称
Java Cryptography Extension  Java 密码子系统扩展
7. JDBC中英文全称
Java DataBase Connection     java数据库连接
8. InetAddress类的作用
   InetAddressJAVA中用于描述IP地址的类获取IP地址
9. DatagramPacket的构造方法
1. DatagramPacket(byte[]buf, intlength)
2. DatagramPacket(byte[]buf, intlength , InetAddressaddress , intport)
3.
10. ServerSocket类的作用
ServerSocket类用来实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操作,然后可能向请求者返回结果。
以下程序的作用是,间接抛出异常,根据注释填写空白处
import (     java.io.*              ;       //引用输入输出类库
import (      java.net.*             ;       //引用网络类库     
public class DatagramReceiver{
        public static void main(String args[ ]){
                String GROUP_IP = ("      www.baidu.com              ");    //写一个D类地址
                  int port = 1080;
                         MulticastSocket         multicastSocket = null;       //申明多播套结字
                          DatagramPacket       ) p = null;                    // 申明UDP数据报
                  byte [] buf = new byte[1024];  
            try{
                      multicastSocket = new MulticastSocket(port);
                      InetAddress group = InetAddress.getByName(GROUP_IP);
                      multicastSocket.(    joinGroup(group ) );                //加入组播组   
            }catch(    Exception e              ){                     // 捕获Exception异常
                      System.err.println(e.toString());
            }
            try{
                      System.out.println("Receieve start.......");
                      p = new DatagramPacket(  buf, buf.length                  );//构造接收数据报
                      while (true) {
                        multicastSocket.(     receive                   )(p);  //接收数据
                        System.out.println(new String(buf) + p.getAddress());
                      }
          multicastSocket.(     LeaveGroup()               );     //离开组播组
            }catch(Exception e){
                      System.err.println(     e.toString()           );       //输出异常对象信息
            }
          }
}
阅读以下程序,并根据注释填写空白处
import (    java.io.*               ;       //引用输入输出类库
import java.net.*;      
public class DatagramReceiver{
        public static void main(String args[ ]){
                String GROUP_IP = ("     www.baidu.com               ");    //写一个D类地址
                  int port = 1080;
                  MulticastSocket multicastSocket = null;
                  DatagramPacket p = null;
                  byte [] buf = new byte[1024];  
            try{
                      multicastSocket = new MulticastSocket(port);
                      InetAddress group = InetAddress.getByName(GROUP_IP);
                      multicastSocket.join(group);      
            }catch(Exception e){
                      System.err.println(e.toString());
            }
            try{
                      System.out.println("Receieve start.......");
                      p = new DatagramPacket(   buf, buf.length                   );//构造接收数据报
                      while (true) {
                        multicastSocket.(       receive                                      )(p);  //接收数据
                        System.out.println(new String(buf) + p.getAddress());
                      }
          multicastSocket.(        LeaveGroup()              );     //离开组播组
            }catch(Exception e){
                      System.err.println(e.toString());
            }
          }
}
1. 编程TCP服务器端程序,要求实现监听localhost的8080端口,接收客户端连接,发送字符串Welcome给该客户端。
编程java程序,访问http://www.xiyou.edu.cn/所在的主页文件。
设服务器端程序监听端口为8080, 用于接收客户端的连接请求,当连接建立后向客户段发送字符串Hello
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class SocketDemo {
  
    public static void main(String[] args) throws  IOException {
        Socket s=new Socket(InterAddress.getByName("http://www.xiyou.edu.cn/"),8080);
       OutputStream out=s.getOutputStream();
       out.write("Welcome".getBytes());
         InputStream is=s.getInputStream();
        byte buf[]=new byte[1024];
        int len=is.read(buf);
     System.out.println(new String(buf,0,len));
      s.close();
    }
}
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerSocketDemo {
    /**
      * @param args
     * @throws IOException
     */
     public static void main(String[] args) throws IOException {
        ServerSocket ss = new ServerSocket(8080);
        Socket s = ss.accept();
       String ip = s.getInetAddress().getHostAddress()
         InputStream in = s.getInputStream();
      int len = 0;
       byte[] buf = new byte[1024];
        len = in.read(buf);
         System.out.println(new String(buf, 0, len));
        OutputStream os=s.getOutputStream();
         os.write("收到".getBytes());
     os.close();
       s.close();
       ss.close();
    }
}
2. 编写程序,补充Book类申明, 并实现将数据对象s1,序列化存储在本地文件mydata.dat中
     class Book _implement Serializable______________{
        int no;
        String name;
        String author;
     }
     Student s1 = new Student(123, Java Programming, "Jack");

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
java无忧网(http://www.javawyw.com),专业提供Java大作业,小作业,课程设计,毕业设计源码,答辩辅导,作业排错,bug修复,专业解答,远程部署运行项目等服务
本网站所有源码,保证能运行!
QQ:1399491757
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回顶部