java面试题

1.Spring中bean的生命周期

面试回答:

        1.当程序加载运行时会根据spring中配置文件找到bean配置的属性和方法,

        并通过java反射机制创建实例化bean对象。

        Bean实现了BeanNameAware接口,执行了setBeanName方法,实现注入对象。

        2.实现了BeanFactoryAware工厂接口,执行了setBeanFactory方法。

        3.实现了ApplicationContext接口类,执行了setsetApplicationContest方法。

        4.实现了BeanPostProcessor接口类,执行postProcessBeforeInitialization方法

        5.实现了InitiliazingBean 执行afterPropertiesSet方法,并加载配置文件定义了init-method 则执行对应初始化方法BeanPostProcessor 执行postProcessorfterInitilization方法,完成 Bean的初始化,使得bean可以使用。

        6.实现了DisposabileBean接口,加载配置文件中的destroy-method方法销毁bean对象实例。

简要回答:

  1. 程序加载时创建bean的实例化对象。

  2. 注入bean的相关实现接口管理bean对象。

  3. 初始化bean对象。

  4. 关闭并销毁bean实例化对象。

2.java8的新特性

        1.Lambda表达式

        2.Stream函数式操作流元素集合

        3.接口新增:默认方法与静态方法

        4.方法引用,与Lambda表达式联合使用

        5.引入重复注解

        6.类型注解

        7.最新的Date/Time API

        8.新增base64加解密API

        9.数组并行(parallel)操作

        10.JVM的PermGen空间被移除:取代它的是Metaspace(JEP 122)

3.Spring中bean的作用域

在Spring中,可以在<bean>元素的scope属性里设置bean的作用域,以决定这个bean是单实例还是多实例的.

    默认情况下,Spring只为每一在IOC容器里面声明的bean创建唯一一个实例,整个IOC容器范围内都能共享该实例:所有后续的getBean()调用和bean引用都将返回这个唯一的bean实例. 该作用域被称为singleton,他是所有bean的默认作用域

singleton:在spring IoC容器仅存在一个Bean实例,Bean以单例方式存在,bean作用域范围的默认值。

prototype:每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行newXxxBean()。

4.Spring框架中的Bean是线程安全的么?

在spring框架中,并没有提供bean的线程安全策略,所以,spring容器中的bean并不具备线程安全的特性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值