有没有人会做大三Java上学期的题?

选择题

1.大数据技术的基础是由()首先提出来的?<<
A. 微软
B. 百度
C. 谷歌
D. 阿里

2.下面哪个不是面向对象语言的特点()?<<
A. 封装
B. 跨平台
C. 继承
D. 多态

3.当程序经过编译或者汇编以后,形成了一种由机器指令组合的集合,被称为()?<<
A. 源程序
B. 可执行程序
C. 目标程序
D. 非执行程序

4.关于Thread和Runnable的关系,以下说法哪一个是正确的()?<<
A. Thread是父类,Runnable是子类
B. Runnable是父类,Thread是子类
C. Thread和Runnable没有关系
D. Thread和Runnable是平级关系
5.大数据不是要教机器像人一样思考。相反,它是()?<<
A. 被视为人工智能的一部分
B. 把数学算法运用到海量的数据上来预测事情发生的可能性。
C. 被视为一种机器学习
D. 预测与惩戒

6.你觉得当前社会最为突出的数据环境是()?<<
A. 物联网
B. 自然资源
C. 互联网
D. 综合国力

7.重写与重载的关系是()?<<
A. 重写方法可以不同名,而重载方法必须同名
B. 重写只有发生在父类与子类之间,而重载可以发生在同一个类中
C. final修饰的方法可以被重写,但不能被重载
D. 重写与重载是一回事

8.下面关于进程、线程的说法不正确的是()?<<
( ) A. Java多线程的运行与平台无关。
( ) B.进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程--多线程,行程多条执行线索。
( ) C. 线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。
( ) D. 对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。

9.pwd命令的功能是什么()?
( ) A.设置用户的口令。
( ) B.显示当前目录的绝对路径。
( ) C.显示用户的口令。
( ) D.查看当前目录的文件。

10.定义一个类,必须使用的关键字是()?
( ) A.public
( ) B.interface
( ) C.class
( ) D.static

判断题(T或F)

  1. Java中map集合的value值可以重复( )
  2. Python和Java都是面向对象的程序设计语言( )
  3. 数组有length()这个方法( )
  4. String有length()这个方法( )
  5. 进程和线程没有本质区别( )
  6. 构造器可以被override( )
  7. 启动线程是调用run()方法()
  8. List和Set都可以使用增强for循环()
  9. 当程序打开一个不存在的文件来进行读写时会引发”文件未找到异常” ( )
  10. 一般出现了Runtime异常只能捕获处理( )

简答题

  1. 写出你常见的一些runtime exception(运行时异常):
  1. 说出你觉得应该应用多线程的一些场景:
  1. 写出你所知道的所有能遍历list和map集合的方法:
  1. 写出多线程的一种实现方式:

答案:CBC.....这些不都是很简单嘛,一看就是基础不扎实,这些答案百度一下不就出来了吗

这种理论题网上搜搜不都能搜到吗

选择题

1.大数据技术的基础是由(C)首先提出来的?<<
A. 微软
B. 百度
C. 谷歌
D. 阿里

2.下面哪个不是面向对象语言的特点(B)?<<
A. 封装
B. 跨平台
C. 继承
D. 多态

3.当程序经过编译或者汇编以后,形成了一种由机器指令组合的集合,被称为(C)?<<
A. 源程序
B. 可执行程序
C. 目标程序
D. 非执行程序

4.关于Thread和Runnable的关系,以下说法哪一个是正确的(A)?<<
A. Thread是父类,Runnable是子类
B. Runnable是父类,Thread是子类
C. Thread和Runnable没有关系
D. Thread和Runnable是平级关系
5.大数据不是要教机器像人一样思考。相反,它是(B)?<<
A. 被视为人工智能的一部分
B. 把数学算法运用到海量的数据上来预测事情发生的可能性。
C. 被视为一种机器学习
D. 预测与惩戒

6.你觉得当前社会最为突出的数据环境是(C)?<<
A. 物联网
B. 自然资源
C. 互联网
D. 综合国力

7.重写与重载的关系是(B)?<<
A. 重写方法可以不同名,而重载方法必须同名
B. 重写只有发生在父类与子类之间,而重载可以发生在同一个类中
C. final修饰的方法可以被重写,但不能被重载
D. 重写与重载是一回事

8.下面关于进程、线程的说法不正确的是(A)?<<
( ) A. Java多线程的运行与平台无关。
( ) B.进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程--多线程,行程多条执行线索。
( ) C. 线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。
( ) D. 对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。

9.pwd命令的功能是什么(B)?
( ) A.设置用户的口令。
( ) B.显示当前目录的绝对路径。
( ) C.显示用户的口令。
( ) D.查看当前目录的文件。

10.定义一个类,必须使用的关键字是(C)?
( ) A.public
( ) B.interface
( ) C.class
( ) D.static

判断题(T或F)

  1. Java中map集合的value值可以重复(T )
  2. Python和Java都是面向对象的程序设计语言(T )
  3. 数组有length()这个方法( F)
  4. String有length()这个方法( F)
  5. 进程和线程没有本质区别( F)
  6. 构造器可以被override( F)
  7. 启动线程是调用run()方法(F)
  8. List和Set都可以使用增强for循环(T)
  9. 当程序打开一个不存在的文件来进行读写时会引发”文件未找到异常” (T )
  10. 一般出现了Runtime异常只能捕获处理( F)

简答题

  1. 写出你常见的一些runtime exception(运行时异常):
    答:NullPointerException、ArrayIndexOutOfBoundsException、ClassCastException。
    StringIndexOutOfBoundsException WebServiceException
    ArithmeticException(整数除0时发生)

  2. 说出你觉得应该应用多线程的一些场景:
    答:场景一:一个业务逻辑有很多次的循环,每次循环之间没有影响,比如验证1万条url路径是否存在,正常情况要循环1万次,逐个去验证每一条URL,这样效率会很低,假设验证一条需要1分钟,总共就需要1万分钟,有点恐怖。这时可以用多线程,将1万条URL分成50等份,开50个线程,没个线程只需验证200条,这样所有的线程执行完是远小于1万分钟的。

场景二:需要知道一个任务的执行进度,比如我们常看到的进度条,实现方式可以是在任务中加入一个整型属性变量(这样不同方法可以共享),任务执行一定程度就给变量值加1,另外开一个线程按时间间隔不断去访问这个变量,并反馈给用户。

  1. 写出你所知道的所有能遍历list和map集合的方法:
    答:(1)for循环方法 例如for…in循环
    (2)普通遍历方法
    (3)使用Iterator迭代方法
    (4)使用Lambda方法
  1. 写出多线程的一种实现方式:
    答:(1)、继承Thread类创建线程
    public class MyThread extends Thread {
      public void run() {
       System.out.println("MyThread.run()");
      }
    }

MyThread myThread1 = new MyThread();
MyThread myThread2 = new MyThread();
myThread1.start();
myThread2.start();

(2)实现Runnable接口创建线程
如果自己的类已经extends另一个类,就无法直接extends Thread,此时,可以实现一个Runnable接口,如下:
1
2
3
4
5 public class MyThread extends OtherClass implements Runnable {
  public void run() {
   System.out.println("MyThread.run()");
  }
}
为了启动MyThread,需要首先实例化一个Thread,并传入自己的MyThread实例:
1
2
3 MyThread myThread = new MyThread();
Thread thread = new Thread(myThread);
thread.start();
事实上,当传入一个Runnable target参数给Thread后,Thread的run()方法就会调用target.run(),参考JDK源代码:
1
2
3
4
5 public void run() {
  if (target != null) {
   target.run();
  }
}
(3)实现Callable接口通过FutureTask包装器来创建Thread线程
Callable接口(也只有一个方法)定义如下:
1
2
3 public interface Callable {
V call() throws Exception;
}
1
2
3
4
5
6
7 public class SomeCallable extends OtherClass implements Callable {

@Override    public V call() throws Exception {        // TODO Auto-generated method stub
    return null;
}

}
1
2
3
4
5
6
7
8 Callable oneCallable = new SomeCallable();
//由Callable创建一个FutureTask对象:
FutureTask oneTask = new FutureTask(oneCallable);
//注释:FutureTask是一个包装器,它通过接受Callable来创建,它同时实现了Future和Runnable接口。
//由FutureTask创建一个Thread对象:
Thread oneThread = new Thread(oneTask);
oneThread.start();
//至此,一个线程就创建完成了。