刷题 day06 Java

1.Java 中创建一个对象使用的关键字是(C)

A class
B interface
C new
D creat
解析:class是一个类的关键字,创建一个对象关键字肯定是new。

2.先进先出的容器是(B)

A 堆栈(Stack)
B 队列(Queue)
C 字符串(String)
D 跌送器(Iterator)
解析:堆栈具有先进后出的特点如子弹人弹夹一样;队列具有先进先出的特点如排队过隧道;字符串是一个存储数据的结构没有严格地出入要求;跌送器的读取取决于读取的方式。

3.JSP 表达式的写法:(C)

A <% expression %>
B <= expression %>
C <%= expression %>
D
解析:A中可以插入一些语句;B中只能放置全局变量,全局常量,类,函数;C中只能放置一个变量,常量。

4.如果一个接口Glass有个方法setColor(),有个类BlueGlass实现接口Glass,则在类BlueGlass中正确的是? ( C)

A protected void setColor() { …}
B void setColor() { …}
C public void setColor() { …}
D 以上语句都可以用在类BlueGlass中
解析:JAVA 子类重写继承的方法时,不可以降低方法的访问权限,子类继承父类的访问修饰符要比父类的更大,也就是更加开放,假如我父类是protected修饰的,其子类只能是protected或者public,绝对不能是friendly(默认的访问范围)或者private,当然使用private就不是继承了。还要注意的是,继承当中子类抛出的异常必须是父类抛出的异常的子异常,或者子类抛出的异常要比父类抛出的异常要少。

5.socket编程中,以下哪个socket的操作是不属于服务端操作的(C)

A accept
B listen
C connect
D close
解析:服务器端,首先是服务器初始化Socket,然后是与端口进行绑定(blind()),端口创建ServerSocket进行监听(listen()),然后调用阻塞(accept()),等待客户端连接。与客户端发生连接后,会进行相关的读写操作(read(),write()),最后调用close()关闭连接。

6.以下(D)不是 Object 类的方法

A clone()
B finalize()
C toString()
D hasNext()
解析:1.clone方法
保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。

2.getClass方法
final方法,获得运行时类型。

3.toString方法
该方法用得比较多,一般子类都有覆盖。

4.finalize方法
该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。

5.equals方法
该方法是非常重要的一个方法。一般equals和==是不一样的,但是在Object中两者是一样的。子类一般都要重写这个方法。

6.hashCode方法
该方法用于哈希查找,重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。

一般必须满足obj1.equals(obj2)==true。可以推出obj1.hash- Code()==obj2.hashCode(),但是hashCode相等不一定就满足equals。不过为了提高效率,应该尽量使上面两个条件接近等价。

7.wait方法
wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。

调用该方法后当前线程进入睡眠状态,直到以下事件发生。

(1)其他线程调用了该对象的notify方法。

(2)其他线程调用了该对象的notifyAll方法。

(3)其他线程调用了interrupt中断该线程。

(4)时间间隔到了。

此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException异常。

8.notify方法
该方法唤醒在该对象上等待的某个线程。

9.notifyAll方法
该方法唤醒在该对象上等待的所有线程。

7.protected访问权限要小于包(default )访问权限。( B )

A 正确
B 错误
解析:在这里插入图片描述

8.Thread. sleep()是否会抛出checked exception(A)

A 会
B 不会
解析:checked exception:指的是编译时异常,该类异常需要本函数必须处理的,用try和catch处理,或者用throws抛出异常,然后交给调用者去处理异常。
runtime exception:指的是运行时异常,该类异常不必须本函数必须处理,当然也可以处理。
Thread.sleep()抛出的InterruptException属于checked exception;IllegalArgumentException属于Runtime exception;

8.下面哪一项不属于优化Hibernate所鼓励的?

A 使用单向一对多关联,不使用双向一对多
B 不用一对一,用多对一取代
C 配置对象缓存,不使用集合缓存
D 继承类使用显式多态
解析:优化Hibernate所鼓励的7大措施:
1.尽量使用many-to-one,避免使用单项one-to-many
2.灵活使用单向one-to-many
3.不用一对一,使用多对一代替一对一
4.配置对象缓存,不使用集合缓存
5.一对多使用Bag 多对一使用Set
6.继承使用显示多态 HQL:from object polymorphism=“exlicit” 避免查处所有对象
7.消除大表,使用二级缓存

9.下面有关servlet的层级结构和常用的类,说法正确的有(ABDC)

A GenericServlet类:抽象类,定义一个通用的、独立于底层协议的Servlet。
B 大多数Servlet通过从GenericServlet或HttpServlet类进行扩展来实现
C ServletConfig接口定义了在Servlet初始化的过程中由Servlet容器传递给Servlet得配置信息对象
D HttpServletRequest接口扩展ServletRequest接口,为HTTP Servlet提供HTTP请求信息
解析:HttpServlet是GenericServlet的子类。
GenericServlet是个抽象类,必须给出子类才能实例化。它给 出了设计servlet的一些骨架,定义了servlet生命周期,还有一些得到名字、配置、初始化参数的方法,其设计的是和应用层协议无关的,也就是说 你有可能用非http协议实现它。
HttpServlet是子类,当然就具有GenericServlet的一切特性,还添加了doGet, doPost, doDelete, doPut, doTrace等方法对应处理http协议里的命令的请求响应过程。
一般没有特殊需要,自己写的Servlet都扩展HttpServlet 。

猜你喜欢

转载自blog.csdn.net/phoebeziz/article/details/83268096