java面试之java基础2

本文深入讲解Java中的关键概念,包括Object类、实例方法与类方法的区别、异常处理机制、HttpServletRequest类的功能、finally语句块的行为、Spring事务传播特性和Spring MVC的工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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来解析。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值