java笔试投票选出候选人_一份最新的java笔试题和答案

近期,某大型企业的高级java开发工程师的JAVA笔试题,现给出试题和答案,供大家参考,如有不对之处,请大家指教。

选择题

1)servlet处理请求的方式? 以响应的方式

2)抽象类代码的编写,哪行代码不产生编译出错?A

public abstract class MyClass{

public int constInt=5;

(________)

public void method(){

}

}

A 、 public abstract void method (int a) ;

B 、 constInt=constInt+5; 声明阶段不能赋值

C 、 public int method () ; 抽象类可以重载,重载输入参数要不一样,与返回参数无关,这体现了java的多态性

D 、 public abstract void anothermethod (){} ; 抽象方法无{}

3)下面说法正确的有(B)

A class中的constructor不可以省略

B constructor必须与class同名,但方法不能与class同名

C constructor在一个对象被new时执行

D 一个class只能定义一个constructor

4)java中集合类型包含ArrayList,LinkedList,HashMap等类,下面描述错误的是(B)

A ArrayList和LinkedList均实现了List接口

B 添加和删除元素时,ArrayList的表现更佳

C ArrayList的访问速度比LinkedList快

D HashMap的实现MAP接口,它允许任何类型的键和值对象并允许将null作为键或值

多选题

下列哪些情况可以终止当前线程的运行?(AB)

A 抛出一个异常

B 当该线程调用sleep()方法时

C 当创建一个新线程时

D 当一个优先级高的线程进入就绪状态时。

下面关于java语言实例方法和类方法的说法,哪几项是对的?(BC)

(在方法前面加上static就成了类方法,static只能操作static)

A 实例方法可以直接通过类名调用。

B 类方法可以直接通过类名调用。

C 实例方法可以操作实例变量也可以操作类变量。

D 类方法可以操作实例变量也可以操作类变量。

关于IOC的理解,正确的是(ABD)

A 控制反转 B 对象被动的接口依赖类

C 对象主动的去找依赖类 D 一定要用接口

8 以下哪些对接口methoda的定义是正确的?AC

A void methoda();

B public final double methoda(); // final 不能用

C public double methoda();

D static void methoda(double d1); //static不能用

9 下列是jsp作用域的通信对象的有(ABD)+page

A session B cookie C application D pagecontext

10 以下关于final关键字说法错误的是(AD)

A final是java的修饰符,可以修饰类、接口、抽象类、方法和属性

B final修饰变量不允许被再次赋值从而避免了复杂的协议转换

C final修饰的类肯定不能被继承

D final修饰的方法不能被重载

一、final关键字可以用来修饰类、方法、变量。各有不同。

A、修饰类(class)。 1、该类不能被继承。 2、类中的方法不会被覆盖,因此默认都是final的。 3、用途:设计类时,如果该类不需要有子类,不必要被扩展,类的实现细节不允许被改变,那么就设计成final类

B、修饰方法(method) 1、该方法可以被继承,但是不能被覆盖。 2、用途:一个类不允许子类覆盖该方法,则用final来修饰 3、好处:可以防止继承它的子类修改该方法的意义和实现;更为高效,编译器在遇到调用fianal方法转入内嵌机制,提高了执行效率。 4、注意:父类中的private成员方法不能被子类覆盖,因此,private方法默认是final型的(可以查看编译后的class文件)

C、修饰变量(variable) 1、用final修饰后变为常量。包括静态变量、实例变量和局部变量这三种。 2、特点:可以先声明,不给初值,这种叫做final空白。但是使用前必须被初始化。一旦被赋值,将不能再被改变。

D、修饰参数(arguments) 1、用final修饰参数时,可以读取该参数,但是不能对其作出修改

二、final关键字不能用来抽象类和接口。

11 接口和抽象类描述正确的是 (BC)

A 抽象类没有构造函数

B 接口没有构造函数

C 抽象类不允许多继承

D 接口中的方法可以有方法体

12 以下可以正确获取结果集的有(AD)

A Statement sta=con.createStatement();

ResultSet rst=sta.excuteQuery("select from book");

B Statement sta=con.createStatement("select from book");

ResultSet rst=sta.excuteQuery();

C PreparedStatement pst=con.preparedStatement();

ResultSet rst=sta.excuteQuery("select from book");

D PreparedStatement pst=con.preparedStatement("select from book");

ResultSet rst=sta.excuteQuery();

问答器

1 用一个sql语言查询每门课程大于80分的学生姓名

name kecheng fenshu

张三 语文 81

张三 数学 74

李四 语文 76

李四 数学 90

王五 语文 81

王五 数学 100

王五 英语 90

2什么是java线程池?在什么情况下使用线程池?

java线程池就是java用来管理线程的池子。限制线程的数量

当程序并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,

那么就需要频繁地创建销毁一些相同的线程时,可以使用线程池来管理。

3线程池的优点

1)避免线程的创建和销毁带来的性能开销。

2)避免大量的线程间因互相抢占系统资源导致的阻塞现象。

3}能够对线程进行简单的管理并提供定时执行、间隔执行等功能。

4写出一个单例模式。

public class Singleton {

private static final Singleton singleton = null;

private Singleton(){ }

public static Singleton getInstance() {

if (singleton== null) {

synchronized (Singleton.class) {

if (singleton== null) {

singleton= new Singleton();

}

}

}

return singleton;

}

}

或者

```python

public class Singleton {

private static final Singleton singleton = new Singleton();

private Singleton() { }

public static Singleton getInstance() {

return singleton;

}

}

5 JAVA笔试题sleep() 和wait() 的区别

Java程序中wait 和 sleep都会造成某种形式的暂停,它们可以满足不同的需要。wait()方法用于线程间通信,如果等待条件为真且其它线程被唤醒时它会释放锁,而sleep()方法仅仅释放CPU资源或者让当前线程停止执行一段时间,但不会释放锁。需要注意的是,sleep()并不会让线程终止,一旦从休眠中唤醒线程,线程的状态将会被改变为Runnable,并且根据线程调度,它将得到执行。

总结: sleep()保持对象锁、wait()释放对象锁。

附加题

假如有一个投票支持页面,用户点击支持按钮,限定一个小时内不能再次点击,一小时后可以再次点击,后面以此类推,请问如何实现

如有要采集一个页面的PV、UV数量,应该如何设计?(PV页面展示次数;UV独立访客数)

补充

servlet和 filter的区别

1、servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层。

2、filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求、响应和头信息。Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改从某一的响应。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值