Java找工作之面试复习(1) 集合

时间:2021-01-13 04:10:14

Java找工作之面试复习(1) 集合

我相信很多人后很多人都面临着跳槽找工作之路,我也不例外。下面我就一起和大家一起看下JAVA面试的时候会问到的问题。

  • 谈谈你在工作中用到的java集合以及他们的应用

    大家在工作中大多数就是存储对象ArrayList, 有时候封装参数的时候就是HashMap(尤其是在对象第三方接口的时候,存储传递的参数),存储没有重复的对象用HashSet(比如你要统计那些人下了订单, 这时候从数据查询出来的可能就会出现,一个人下多次订单的。这时候就需要用Set结合),先进后出用Stock(一般用到算法里面),排队用Queue(这个可能就会经常用了,在高并发的时候,存储对象),排序用Collections(java集合排序吧)等。

  • 你用过java.util.concurrent里面的哪些类以及应用

    ReentrantLock : 这个是锁,它有重要的2个方法。lock和unlock,在多线程环境下可以起到控制。
    ArrayBlockQueue: 阻塞队列,在生产者-消费者环境中用到。
    Executor: 线程池,它可以控制启动多个线程。
    java.util.concurrent.atomic包下面: 各数据类型原子性操作。

  • Set是如何实现插入的不重复的key值的

    hashCode()和equals的重载,保证每个key对象的唯一性。

  • 哪些集合是线程完全的, 哪些集合又不是线程安全的

    • 线程安全
      • vector
      • hashtable
      • stock
      • enumeration

    非线程安全: 集合中不包含在线程安全之内的。

  • HashMap的工作原理是什么

    采用数组 + 链表的形式实现。

  • 各个相似框架的区别