zoukankan      html  css  js  c++  java
  • 每天五个java相关面试题(3)

    1. Servlet的生命周期是什么?

    答:
    第一次请求: 构造方法->init() -> service() -> doGet()/doPost()
    以后的请求:service() -> doGet()/doPost();
    Servlet是单实例的.

    2. 说出ArrayList,Vector, LinkedList的存储性能和特性HashMap和Hashtable的差别

    答:
    ArrayList Vector:以数组的方式存储,增、删慢,查、改快
    ArrayList:线程不安全,速度快。
    Vector:线程安全,速度慢( synchoronized add() )
    LikedList: 以双链表的方式存储,增、删快,查、改慢
    HashMap与Hashtable都实现的Map接口,HashTable线程安全( add,del -> synchronized),HashMap线程不安全。

    拓展:什么叫线程安全和不安全呢?
    线程安全就是多线程訪问时,採用了加锁机制。当一个线程訪问该类的某个数据时,进行保护。其它线程不能进行訪问直到该线程读取完,其它线程才可使用。

    不会出现数据不一致或者数据污染。

    线程不安全就是不提供数据訪问保护。有可能出现多个线程先后更改数据造成所得到的数据是脏数据

    3. 事务是什么?事务的四大特性? jdbc怎样做事务处理?

    答:
    事务是对数据操作的一个单个逻辑单元。这个单元有可能有多个操作,要不同一时候成功。要不同一时候失败。特点是原子性, 隔离性, 一致性, 持久性.
    JDBC做事务操作:

        connection.setAutoCommit( false);
        connection.commit();
        connection.rollback();
        connection.setAutoCommit( true);

    4. 作用域public、protected、private以及不写时的差别?

    答:
    public 声明的为公共成员变量和函数成员。在整个类内类外都可使用。
    private 声明的为私有成员变量和函数成员,仅仅在声明的类内能够使用。
    protected声明的为受保护成员变量和函数成员,类外不可使用。

    类内能够使用。
    不使用关键字默觉得类内使用。

    5. 在spring中,什么是IOC?

    什么是DI?

    答:
    IOC是控制反转,所谓反转是指应用本身并不负责依赖对象的创建和维护,而把这个任务交给第三方即Spring去处理,这是将创建对象的权利交给第三方,控制反转就是控制权的转移
    DI是依赖注入.依赖注入,是指执行期间,Spring动态的将依赖对象注入到组件中。


    当IOC容器启动时。容器负责创建容器内的全部对象;
    依据配置信息形成对象之间的依赖关系。
    也就是说让别人(ioc)为你服务。

    这是核心。

  • 相关阅读:
    leetcode刷刷刷
    素数问题
    TCP/IP详解(整理)
    关于区块链应用方向与前景的一些思考
    设计模式
    面经中的各种问题汇总
    基于消逝时间量的共识机制(POET)
    c++语言知识点汇总
    二叉树前中后/层次遍历的递归与非递归形式(c++)
    layui表格搜索数据登录失效后的处理
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7040565.html
Copyright © 2011-2022 走看看