2022面经~篇一

  1. 为什么使用内部类:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否继承或者实现了接口都没有影响;内部类可以用多个实例,且每个实例都有自己的状态信息,与其他外围对象的信息相互独立;在单个外围类当中,可以让多个内部类以不同的方式继承同一个类或者实现一个接口;创建内部类的时刻并不依赖于外围类对象的创建;内部类并没有令人迷惑的”is-a“关系,他就是一个独立的实体;内部类提供了更好的封装,除了外围类其它类都不能访问

  2. i++ 与 ++i

    public class TestIncr {
        public static void main(String args[]) {
            int i = 0;
            i = i++ + i;//当前操作在两个地方完成 局部变量表 操作数栈
            //自增自减操作都是在局部变量表中完成的 
            // "+" 操作是在操作数栈完成的,当”+“操作时才会把局部变量表中的 i=1
            //拿出来计算
            System.out.println("I =" +i);// i = 1
        }
    }
  3. 序列化与反序列化:序列化就是指把Java对象转换为字节序列的过程,反序列化,反之亦然;序列化的作用:就是在传递和保存对象时保证对象的完整性和可传递性。有序的字节流便于在网络上传输或者是保存在本地文件中;反序列化的作用:保证对象的重建

  4. String,StringBuilder和StringBuffer的区别:

    运行速度:StringBuilder>StringBuffer>String
    String最慢是因为它是字符串常量,StringBuffer和StringBuilder是字符串变量
    同时,StringBuffer是线程安全的,它的代码块由synchronized修饰的,考虑到代码运行速度,单线程的时候尽量使用StringBuilder
  5. Spring和SpringBoot:Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架;
    控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它;
    面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持
    从本质上来说SpringBoot并不是一门新的技术,只能说是Spring的拓展,相较于Spring它多了一个自动配置功能,减少了xml形式的繁琐配置,降低了代码开发的难度。整合了一些中间件,例如redis、Kafka等

  6. Spring中Bean的作用域与生命周期:
    作用域:Singleton,在SpringIoc容器中仅存在一个Bean实例,Bean以单例方式存在
                   Prototype,每次从容器中调用Bean时,都会返回一个新的实例
                   
    Session,同一个Http Session共享一个Bean,不同的session使用不同的bean,仅                 适用于WebApplicationContext环境
                   
    Request,每次HTTP请求都会创建一个新的bean,该作用域仅适用于                                     WebApplicationContext环境
                   
    GlobalSession,一般用于Portlet应用环境,该作用域仅适用于                                               WebApplicationContext环境
    生命周期:(图片地址:
    Spring中bean的作用域与生命周期_缘自天方的博客-CSDN博客_bean的作用域

     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值