1. sleep()和wait()的区别?
2. synchronized同步代码块还有同步方法本质上锁住的是谁?为什么?
3. synchronized和volatile的区别?
4. ReentrantLock和synchronized的区别?
5. 什么是线程安全?保障线程安全有哪些手段?
6. 线程的有哪些状态?
7. Thread的join()有什么作用?
8. 同步和非同步、阻塞和非阻塞的概念
9. 销毁一个线程的方法有哪些?
10. 什么是线程池,如何使用?
11. 多线程断点续传的实现原理?
12. 了解Java新特性
Java并发编程
1、在java中守护线程和本地线程区别?
2、线程与进程的区别?
3、什么是多线程中的上下文切换?
4、死锁与活锁的区别,死锁与饥饿的区别?
5、Java中用到的线程调度算法是什么?
6、什么是线程组,为什么在Java中不推荐使用?
7、为什么使用Executor
8、在Java中Executor和Executors的区别?
9、什么是原子
10、Java Concurrency API中的Lock接口是什么?对比同步它有什么优势?
11、什么是Executors框架?
12、什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?
13、什么是Callable和Future?
14、什么是FutureTask?
15、什么是并发容器的实现?
16、多线程同步和互斥有几种实现方法,都是什么?
17、什么是竞争条件?你怎样发现和解决竞争?
18、为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?
19、Java中你怎样唤醒一个阻塞的线程?
20、CycliBarriar和CountdownLatch有什么区别?
21、什么是不可变对象,它对写并发应用有什么帮助?
22、什么是多线程中的上下文切换?
23、Java中用到的线程调度算法是什么?
24、什么是线程组,为什么在Java中不推荐使用?
25、为什么使用Executor框架比使用应用创建和管理线程好?
26、java中有几种方法可以实现一个线程?
27、如何停止一个正在运行的线程?
28、notify()和notifyAll()有什么区别?
29、什么是Daemon线程?它有什么意义?
30、java如何实现多线程之间的通讯和协作?
31、什么是可重入锁?
32、当一个线程进入某个对象的一个synchronized的实例方法后,其它线程是否可进入此对象的其它方法?
33、乐观锁和悲观锁的理解及如何实现?
34、SynchronizedMap 和 ConcurrentHashMap有什么区别?
35、CopyOnWriteArrayList可以用于什么应用场景?
36、什么叫线程安全?servlet是线程安全吗?
37、volatile有什么用?能否用一句话说明下volatile的应用场景?
38、为什么代码会重排序?
39、在java中wait和sleep方法的不同?
40、一个线程运行时发生异常会怎样?
41、如何在两个线程间共享数据?
42、Java中notify 和 notifyAll有什么区别?
43、为什么wait, notify 和 notifyAll这些方法不在thread类里面?
44、什么是ThreadLocal变量?
45、Java中interrupted 和 isInterrupted方法的区别?
46、为什么wait和notify方法要在同步块中调用?
47、为什么你应该在循环中检查等待条件?
48、Java中的同步集合与并发集合有什么区别?
49、什么是线程池? 为什么要使用它?
50、怎么检测一个线程是否拥有锁?
51、JVM中哪个参数是用来控制线程的栈堆栈小的?
52、Thread类中的yield方法有什么作用?
53、Java中ConcurrentHashMap的并发度是什么?
54、Java中Semaphore是什么?
55、Java线程池中submit() 和 execute()方法有什么区别?
56、什么是阻塞式方法?
57、Java中的ReadWriteLock是什么?
58、volatile 变量和 atomic 变量有什么不同?
59、可以直接调用Thread类的run ()方法么?
60、如何让正在运行的线程暂停一段时间?
61、你对线程优先级的理解是什么?
62、什么是线程调度器和时间分片?
63、你如何确保main()方法所在的线程是Java 程序最后结束的线程?
64、线程之间是如何通信的?
65、为什么线程通信的方法wait()、notify()和notifyAll()被定义在Object 类里?
66、为什么wait()、notify()和notifyAll ()必须在同步方法或者同步块中被调用?
67、为什么Thread类的sleep()和yield ()方法是静态的?
68、如何确保线程安全?
69、同步方法和同步块,哪个是更好的选择?
70、如何创建守护线程?
71、什么是Java Timer 类?如何创建一个有特定时间间隔的任务?
如果你现在在JAVA这条路上挣扎,也想在IT行业拿高薪,可以参加我们免费的公开课试听学习 干货满满的,选择最适合自己的课程学习,技术大牛亲授,课程内容有:Java工程化、高性能及分布式、高性能、深入浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点。如果你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优势的,想进阿里面试但担心面试不过的,你都可以来
想要获取以上面试题的参考答案,可以加群:810589193,点击链接加入群聊【Java架构学习交流群】:https://jq.qq.com/?_wv=1027&k=5deQUBl获取所有面试题参考答案。
网友评论