小猿圈总结的常见java面试题,你学会了吗?

今年的4月份又到了,又是一年一度的跳槽季,但是你真的做好准备了吗?对于程序员来说,敲代码、改bug完全不是问题,但是一到面试就忘记该说什么,该怎么去回答。针对这样的问题,小猿圈java讲师为你总结了常见的java面试题,希望对你的面试以及日常工作有帮助。

    1.list中存放可重复字符串,如何删除某个字符串

调用iterator相关方法删除

倒删,防止正序删除导致的数组重排,index跳过数组元素问题

    2.concurrenthashmap为何读不用加锁

jdk1.7

1)HashEntry中的key、hash、next均为final型,只能表头插入、删除结点

2)HashEntry类的value域被声明为volatile型

3)不允许用null作为键和值,当读线程读到某个HashEntry的value域的值为null时,便知道产生了冲突——发生了重排序现象(put设置新value对象的字节码指令重排序),需要加锁后重新读入这个value值

4)volatile变量count协调读写线程之间的内存可见性,写操作后修改count,读操作先读count,根据happen-before传递性原则写操作的修改读操作能够看到

jdk1.8

1)Node的val和next均为volatile型

2)tabAt和casTabAt对应的unsafe操作实现了volatile语义

    3.ContextClassLoader(线程上下文类加载器)的作用

越过类加载器的双亲委派机制去加载类,如serviceloader实现

使用线程上下文类加载器加载类,要注意保证多个需要通信的线程间的类加载器应该是同一个,防止因为不同的类加载器导致类型转换异常(ClassCastException)

    4.如何结束一个一直运行的线程

使用退出标志,这个flag变量要多线程可见

使用interrupt,结合isInterrupted()使用

    5.如何从FutureTask不阻塞获取结果

get(longtimeout,TimeUnitunit),超时则返回

轮询,先通过isDone()判断是否结束,然后调用get()

    6.线程池从启动到工作的流程

刚创建时,里面没有线程

调用execute()添加任务时:

1)如果正在运行的线程数量小于核心参数corePoolSize,继续创建线程运行这个任务

2)否则,如果正在运行的线程数量大于或等于corePoolSize,将任务加入到阻塞队列中

3)否则,如果队列已满,同时正在运行的线程数量小于核心参数maximumPoolSize,继续创建线程运行这个任务

4)否则,如果队列已满,同时正在运行的线程数量大于或等于maximumPoolSize,根据设置的拒绝策略处理

5)完成一个任务,继续取下一个任务处理

6)没有任务继续处理,线程被中断或者线程池被关闭时,线程退出执行,如果线程池被关闭,线程结束

7)否则,判断线程池正在运行的线程数量是否大于核心线程数,如果是,线程结束,否则线程阻塞。因此线程池任务全部执行完成后,继续留存的线程池大小为corePoolSize

    7.阻塞队列BlockingQueuetake和poll区别

poll(time):取走BlockingQueue里排在首位的对象,若不能立即取出,则可以等time参数规定的时间,取不到时返回null

take():取走BlockingQueue里排在首位的对象,若BlockingQueue为空,阻塞直到BlockingQueue有新的对象被加入

    小猿圈提醒大家合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java SE 基础: 封装、继承、多态 封装: 概念:就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽...
    Jayden_Cao阅读 6,409评论 0 8
  • 跳槽不算频繁,但参加过不少面试(电话面试、face to face 面试),面过大 / 小公司、互联网 / 传统软...
    程序员技术圈阅读 5,071评论 1 49
  • 1.以《三言两拍》中“二拍”的第一篇为标尺,确定出自己的阅读层次,并据此制定一个阅读套餐。(文言几成+旧小说几成+...
    去过羊角村吗阅读 1,332评论 1 0
  • 1 今天在小区楼下看见一个小女孩和小男孩打架,小男孩先踩了女孩一下,女孩推了他一把,把小男孩推到了。 男孩的妈妈过...
    小怪兽PP阅读 1,729评论 0 0
  • 前段时间心里颇为焦虑,工作中的事,学习中的事,各种烦心事好像事先串通好,要一起袭来。本来想出去放松放松,却不得不忙...
    果冻大侠阅读 3,184评论 0 4