Java进阶面试题大集合

【剑指Offer学习】【所有面试题汇总】

  阿里P8架构师总结Java并发面试题(精选)

一、Java基础

    面试/笔试第五弹 —— Java面试问题集锦(下篇)

    算法相关

    java8 统计字符串字母个数的几种方法(有你没见到过的)

    必须知道的八大种排序算法【java实现】(一) 冒泡排序、快速排序

    序列化和反序列化的底层实现原理是什么?

1、List 和 Set 的区别

2、HashSet 是如何保证不重复的

3、HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)?

4、HashMap 的扩容过程

5、HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的?

6、final finally finalize

7、强引用 、软引用、 弱引用、虚引用

8、Java反射

9、Arrays.sort 实现原理和 Collection 实现原理

10、LinkedHashMap的应用

11、cloneable接口实现原理

12、异常分类以及处理机制

13、wait和sleep的区别

14、数组在内存中如何分配

二、Java并发

    面试/笔试第四弹 —— 多线程面试问题集锦

1、synchronized 的实现原理以及锁优化?

    深入理解Java并发之synchronized实现原理

    深入分析synchronized的实现原理

2、volatile 的实现原理?

    全面理解Java内存模型(JMM)及volatile关键字

3、Java 的信号灯?

    Java线程(九):Semaphore-信号灯机制

4、synchronized 在静态方法和普通方法的区别?

5、怎么实现所有线程在等待某个事件的发生才会去执行?

6、CAS?CAS 有什么缺陷,如何解决?

7、synchronized 和 lock 有什么区别?

8、Hashtable 是怎么加锁的 ?

9、HashMap 的并发问题?

    HashMap多线程并发问题分析

10、ConcurrenHashMap 介绍?1.8 中为什么要用红黑树?

11、AQS

12、如何检测死锁?怎么预防死锁?

    多线程死锁的产生以及如何避免死锁

13、Java 内存模型?

到此相信我们对Java内存模型和volatile应该都有了比较全面的认识,总而言之,我们应该清楚知道,JMM就是一组规则,这组规则意在解决在并发编程可能出现的线程安全问题,并提供了内置解决方案(happen-before原则)及其外部可使用的同步手段(synchronized/volatile等),确保了程序执行在多线程环境中的应有的原子性,可视性及其有序性。

14、如何保证多线程下 i++ 结果正确?

15、线程池的种类,区别和使用场景?

    线程池的种类,区别和使用场景

16、分析线程池的实现原理和线程的调度过程?

17、线程池如何调优,最大数目如何确认?

18、ThreadLocal原理,用的时候需要注意什么?

19、CountDownLatch 和 CyclicBarrier 的用法,以及相互之间的差别?

    CyclicBarrier和CountDownLatch区别

20、LockSupport工具

    浅谈Java并发编程系列(八)—— LockSupport原理剖析

21、Condition接口及其实现原理

    java condition使用及分析

22、Fork/Join框架的理解

    聊并发(八)——Fork/Join框

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值