JAVA面试题日常更新

(一)类加载时的初始化顺序:

(静态变量,静态初始化块)>(变量,初始化块) >构造器

注:括号内的初始化顺序取决于在类中的书写顺序,从上往下。

在有继承关系的父类子类中,父类的静态变量及静态初始化块先于子类的,等所有的静态初始化完毕,然后又先初始化父类的(变量,初始化块) > 构造器。最后再初始化子类的(变量,初始化块) > 构造器

1.静态变量:public static String str = "静态变量"

2.静态初始化块:

static

{

do something;

}

3.变量:public String str ="变量"

4.初始化块:

{

do something;

}

5.构造器:

public  classname(){

  }

(二)MVC框架的问题

传统的MVC模式:jsp+servlet+javabean

传统的MVC的问题:

1.所有的Servlet都要配置在web.xml中,导致其配置过于庞大。不能实现模块化管理

2.Servlet的参数只能单个接受,接收完成还要自己封装到model中(model指实例化的一个javabean的引用对象)

(三)Spring的两大核心

Spring是什么?

主要是针对javabean的生命周期进行管理的轻量级容器

两大核心的作用:

1.IOC或DI:控制反转或依赖注入

没有Spring的原始方式:Service需要调用Dao,Service就需要创建Dao。

Spring的方式:Spring发现Service依赖于Dao,就给你主动注入。(核心原理:配置文件+反射(也可以是工厂模式)+容器(也就是一个map))

2.AOP:面向切面编程

核心原理:使用动态代理的方式在方法执行前后与出现异常时执行加入的相关逻辑

用途:事务处理,权限判断,日志管理

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值