java面试之java基础2,
java面试之java基础2,
1、java中的object类由那些?
2、实例方法和类方法
public class SuperClass {
private static void a() {
}// 类方法
public static void b() {
}// 类方法
public void c() {
}// 实例方法
private void d() {
}// 实例方法
}
class SonClass extends SuperClass {
public void e() {
}// 实例方法
public static void main(String args[]) {
SuperClass s = new SuperClass();
SonClass son = new SonClass();
son. a ();// 错误,超类私有的类方法,子类不可访问
son.b() ;// 超类公有类方法,子类可以访问
son.c();// 超类公有实例方法,子类可以访问
son. d ();// 错误,超类私有实例方法,子类不可访问
s. e ();// 错误,实例方法不可直接调用其他类的类方法
s.c();// 实例方法可直接调用本类的公有类方法
s.b() ;// 实例方法可直接调用本类的公有实例方法
}
}
3、运行时异常和普通异常
Java中包括两种异常类,分别是Error和Exception。他们拥有共同的父类--Throwable
Error表示程序在运行期出现严重的错误,并且该错误是不可恢复的,属于JVM层次的错误,因此这种错误会导致程序终止执行。
Exception表示可以恢复的异常,包括检查异常(checked exception)和运行时异常(runtime exception)。
checked exception:指的是编译时异常,该类异常需要本函数必须处理的,用try和catch处理,或者用throws抛出异常,然后交给调用者去处理异常。如IO异常和SQL异常等。
runtime exception:指的是运行时异常,该类异常不必须本函数必须处理,当然也可以处理。如空指针异常,类型转换异常等。
4、HttpServletRequest类主要处理:
1.读取和写入HTTP头标
2.取得和设置cookies
3.取得路径信息
4.标识HTTP会话
5、finally语句块
finally其实是仅在return 语句执行前执行,如果return 一个函数,那么会先执行函数,但如果函数内有(return)语句,那么finally就会在这个return 语句前执行。finally在catch中的return之前执行但是如果catch中有返回值而finally中也有返回值的话finally中的返回值会替换catch中的返回值,因为catch中的返回值是存放在一个临时区中。 如果catch块有异常向外抛出,执行顺序呢:我执行我的,你抛你得异常,我finally我的语句,我俩互不干涉,你别管我啥时执行,但我一定会执行。关于finally,您只需记着一点:除非调用system.exit()让程序退出(也就是将调用这个程序的进程断开了、退出了这个程序)就不会执行或断电等因素致使程序停止进程终止,否则,无论任何因素,finally块都一定会执行。
6、spring的事务传播特性
PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。
7、Spring MVC的核心控制器DispatcherServlet的作用
DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:
1.文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析;
2.通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInterceptor拦截器);
3. 通过HandlerAdapter支持多种类型的处理器(HandlerExecutionChain中的处理器);
4.通过ViewResolver解析逻辑视图名到具体视图实现;
5.本地化解析;
6.渲染具体的视图等;
7.如果执行过程中遇到异常将交给HandlerExceptionResolver来解析。
相关文章
- 暂无相关文章
用户点评