美文网首页
经常被问的典型面试问题

经常被问的典型面试问题

作者: 环球探测 | 来源:发表于2019-10-05 17:11 被阅读0次

    1. 阻塞IO与非阻塞IO, 同步和异步IO各自是什么?

    • 阻塞IO,IO操作被用户调用的时候不会立即产生结果。而是进行IO过程,完成之后才会返回结果。
    • 非阻塞IO,被用户调用后,IO过程而是立即返回一个值。
    • 阻塞和非阻塞的重点区别作为一个IO操作,会不会立即给调用者返回一个结果。
    • 同步IO,作为用户线程,调用IO之后必须等待结果,没结果就不干别的事。
    • 异步IO,作为用户线程,我调用IO之后可以继续干其他的事情。
    • 根据Linux网络编程,从操作系统层面来说,IO过程分为准备数据,以及将数据从内核态拷贝到用户态两个过程,只有第五种才能做到真正异步。
    1. 1)阻塞I/O(blocking I/O)
    2. 2)非阻塞I/O (nonblocking I/O)
      1. I/O复用(select 和poll) (I/O multiplexing)
    3. 4)信号驱动I/O (signal driven I/O (SIGIO))
    4. 5)异步I/O (asynchronous I/O (the POSIX aio_functions))

    2. Java 的IO框架

    字符流和字节流

    NIO , Mina,Netty 框架

    3. Spring 托管 Bean 对象工厂的初始化问题

    • 上下文,比如ApplicationContext 是一个 BeanFactory, 里面维护着 BeanDefinition 。
    • 懒加载,如果不设置那么初始化Context 的时候就会实例化Bean对象,如果lazy-init 设置了true那么只有当对象被使用到的时候才会实例化。
    • 循环依赖问题,如果Bean1对象持有Bean2 , Bean2 又持有Bean 1属性,那么能够正常实例化吗,实际上能。因为初始化的过程中,类的实例化和属性的赋值是分布进行的。

    4. 双亲委派机制有什么好处

    相关文章

      网友评论

          本文标题:经常被问的典型面试问题

          本文链接:https://www.haomeiwen.com/subject/qzxypctx.html