错题整理10.15

1.

一个.java文件中,可以有多个类,包括内部类和外部类。考虑到内部类的原因,一个.java文件可以中可以有多个public类。

但是对于外部类而言,一个.java文件必须只能有一个public类,同时这个类的类名必须和.java的文件名一致(包括大小写)。

2.

垃圾回收过程中的对象销毁–Finalization

就在移除一个对象并回收它的内存空间之前,Java垃圾回收器将会调用各个实例的finalize()方法,这样实例对象就有机会可以释放掉它占用的资源。尽管finalize()方法是保证在回收内存空间之前执行的,但是对具体的执行时间和执行顺序是没有任何保证的。多个实例之间的finalize()执行顺序是不能提前预知的,甚至有可能它们是并行执行的。程序不应该预先假设实例执行finalize()的方法,也不应该使用finalize()方法来回收资源。

  • 在finalize过程中抛出的任何异常都默认被忽略掉了,同时对象的销毁过程被取消
  • JVM规范并没有讨论关于弱引用的垃圾回收,这是明确声明的。具体的细节留给实现者决定。
  • 垃圾回收是由守护进程执行的

 

3.

下面哪个不属于HttpServletResponse接口完成的功能?

A:设置HTTP头标  

1

response.setHeader("Refresh","3"); //三秒刷新页面一次

B:设置cookie

1

2

Cookie c1 = new Cookie("username","only");

response.addCookie(c1);

C(错误):读取路径信息,request读取路径信息

1

2

3

4

5

从request获取各种路径总结

request.getRealPath("url"); // 虚拟目录映射为实际目录

request.getRealPath("./");    // 网页所在的目录

request.getRealPath("../"); // 网页所在目录的上一层目录

request.getContextPath();    // 应用的web目录的名称

D:输出返回数据

1

HttpServleteResponse.getOutputStream().write();

 

4.

join()的作用是:“等待该线程终止”,这里需要理解的就是该线程是指的主线程等待子线程的终止。也就是在子线程调用了join()方法后面的代码,只有等到子线程结束了才能执行。

 

5.

boolean类型不能和任何类型进行转换,会报出类型异常错误。所以C错。

 

6.

JSP 四大作用域: page (作用范围最小)、requestsessionapplication(作用范围最大)。

  • 存储在application对象中的属性可以被同一个WEB应用程序中的所有Servlet和JSP页面访问。(属性作用范围最大)
  • 存储在session对象中的属性可以被属于同一个会话(浏览器打开直到关闭称为一次会话,且在此期间会话不失效)的所有Servlet和JSP页面访问。
  • 存储在request对象中的属性可以被属于同一个请求的所有Servlet和JSP页面访问(在有转发的情况下可以跨页面获取属性值),例如使用PageContext.forward和PageContext.include方法连接起来的多个Servlet和JSP页面。
  • 存储在pageContext对象中的属性仅可以被当前JSP页面的当前响应过程中调用的各个组件访问,例如,正在响应当前请求的JSP页面和它调用的各个自定义标签类。

重点在 当前用户 , application能被同一个应用程序的所有用户访问,所以当前用户的信息就不宜保存在application中

session会话对象,一个会话只可能是一个用户的,生命周期默认30分钟,也可以自行定义,当前会话结束(如关闭浏览器),当前session被销毁。所以当前用户的信息应该保存在session中

 

7.

桥接模式:

定义 :将抽象部分与它的实现部分分离,使它们都可以独立地变化。

意图 :将抽象与实现解耦。

桥接模式所涉及的角色 
1.  Abstraction :定义抽象接口,拥有一个Implementor类型的对象引用 
2.  RefinedAbstraction :扩展Abstraction中的接口定义 
3.  Implementor :是具体实现的接口,Implementor和RefinedAbstraction接口并不一定完全一致,实际上这两个接口可以完全不一样Implementor提供具体操作方法,而Abstraction提供更高层次的调用 
4.  ConcreteImplementor :实现Implementor接口,给出具体实现

Jdk中的桥接模式:JDBC 
JDBC连接 数据库 的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不动,原因就是JDBC提供了统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值