总结Java 并发编程 72 变
1、 什么是线程?
2、 线程和进程有什么区别?
3、 如何在 Java 中实现线程?
4、 用 Runnable 还是 Thread?
5、 Thread 类中的 start() 和 run() 方法有什么区别?
6、 Java 中 Runnable 和 Callable 有什么不同?
7、 Java 中 CyclicBarrier 和 CountDownLatch 有什么不同?
8、 Java 内存模型是什么?
9、 Java 中的 volatile 变量是什么?
10、 什么是线程安全?Vector 是一个线程安全类吗?
11、 Java 中什么是竞态条件?
12、 Java 中如何停止一个线程?
13、 一个线程运行时发生异常会怎样?
14、如何在两个线程间共享数据?
15、 Java 中 notify 和 notifyAll 有什么区别?
16、为什么 wait, notify 和 notifyAll 这些方法不在 thread 类里面?
17、 什么是 ThreadLocal 变量?
18、 什么是 FutureTask?
19、 Java 中 interrupted 和 isInterruptedd 方法的区别?
20、为什么 wait 和 notify 方法要在同步块中调用?
21、 为什么你应该在循环中检查等待条件?
22、 Java 中的同步集合与并发集合有什么区别?
23、 Java 中堆和栈有什么不同?
24、 什么是线程池?为什么要使用它?
25、 如何写代码来解决生产者消费者问题?
26、 如何避免死锁?
27、 Java 中活锁和死锁有什么区别?
28、 怎么检测一个线程是否拥有锁?
29、 你如何在 Java 中获取线程堆栈?
30、 JVM 中哪个参数是用来控制线程的栈堆栈小的
31、 Java 中 synchronized 和 ReentrantLock 有什么不同?
32、 有三个线程 T1,T2,T3,怎么确保它们按顺序执行(确保 main()方法所在的线程是 Java 程序最后结束的线程)?
33、 Thread 类中的 yield 方法有什么作用?
34、 Java 中 ConcurrentHashMap 的并发度是什么?
35、Java 中 Semaphore 是什么?
36、如果你提交任务时,线程池队列已满。会时发会生什么?
37、 Java 线程池中 submit() 和 execute()方法有什么区别?
38、 什么是阻塞式方法?
39、 你对线程优先级的理解是什么?
40、 什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing)?
41、 在多线程中,什么是上下文切换(context-switching)?
42、 如何在 Java 中创建 Immutable 对象?
43、 Java 中的 ReadWriteLock 是什么?
44、 多线程中的忙循环是什么?
45、volatile 变量和 atomic 变量有什么不同?
46、 如果同步块内的线程抛出异常会发生什么?
47、 单例模式的双检锁是什么?
48、 如何在 Java 中创建线程安全的 Singleton?
49、 写出 3 条你遵循的多线程最佳实践
50、 如何强制启动一个线程?
51、 Java 中的 fork join 框架是什么?
52、Java 多线程中调用 wait() 和 sleep()方法有什么不同?
53、什么是 Thread Group?为什么不建议使用它?
54、 什么是 Java 线程转储(Thread Dump),如何得到它?
55、 什么是 Java Timer 类?如何创建一个有特定时间间隔的任务?
56、什么是原子操作?在 Java Concurrency API 中有哪些原子类(atomic classes)?
57、 Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什么优势?
58、 什么是 Executor 框架?
59、Executors 类是什么?
60、 什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?
61、什么是 Callable 和 Future?
62 、什么是 FutureTask?
63、 什么是并发容器的实现?
64、用户线程和守护线程有什么区别?
65、有哪些不同的线程生命周期?
66、线程之间是如何通信的?
67、为什么 Thread 类的 sleep()和 yield()方法是静态的?
68、如何确保线程安全?
69、同步方法和同步块,哪个是更好的选择?
70、如何创建守护线程?
71、线程调度策略?
72 、在线程中你怎么处理不可捕捉异常?
#Java##后端开发##编程##面试##面试题目#2、 线程和进程有什么区别?
3、 如何在 Java 中实现线程?
4、 用 Runnable 还是 Thread?
5、 Thread 类中的 start() 和 run() 方法有什么区别?
6、 Java 中 Runnable 和 Callable 有什么不同?
7、 Java 中 CyclicBarrier 和 CountDownLatch 有什么不同?
8、 Java 内存模型是什么?
9、 Java 中的 volatile 变量是什么?
10、 什么是线程安全?Vector 是一个线程安全类吗?
11、 Java 中什么是竞态条件?
12、 Java 中如何停止一个线程?
13、 一个线程运行时发生异常会怎样?
14、如何在两个线程间共享数据?
15、 Java 中 notify 和 notifyAll 有什么区别?
16、为什么 wait, notify 和 notifyAll 这些方法不在 thread 类里面?
17、 什么是 ThreadLocal 变量?
18、 什么是 FutureTask?
19、 Java 中 interrupted 和 isInterruptedd 方法的区别?
20、为什么 wait 和 notify 方法要在同步块中调用?
21、 为什么你应该在循环中检查等待条件?
22、 Java 中的同步集合与并发集合有什么区别?
23、 Java 中堆和栈有什么不同?
24、 什么是线程池?为什么要使用它?
25、 如何写代码来解决生产者消费者问题?
26、 如何避免死锁?
27、 Java 中活锁和死锁有什么区别?
28、 怎么检测一个线程是否拥有锁?
29、 你如何在 Java 中获取线程堆栈?
30、 JVM 中哪个参数是用来控制线程的栈堆栈小的
31、 Java 中 synchronized 和 ReentrantLock 有什么不同?
32、 有三个线程 T1,T2,T3,怎么确保它们按顺序执行(确保 main()方法所在的线程是 Java 程序最后结束的线程)?
33、 Thread 类中的 yield 方法有什么作用?
34、 Java 中 ConcurrentHashMap 的并发度是什么?
35、Java 中 Semaphore 是什么?
36、如果你提交任务时,线程池队列已满。会时发会生什么?
37、 Java 线程池中 submit() 和 execute()方法有什么区别?
38、 什么是阻塞式方法?
39、 你对线程优先级的理解是什么?
40、 什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing)?
41、 在多线程中,什么是上下文切换(context-switching)?
42、 如何在 Java 中创建 Immutable 对象?
43、 Java 中的 ReadWriteLock 是什么?
44、 多线程中的忙循环是什么?
45、volatile 变量和 atomic 变量有什么不同?
46、 如果同步块内的线程抛出异常会发生什么?
47、 单例模式的双检锁是什么?
48、 如何在 Java 中创建线程安全的 Singleton?
49、 写出 3 条你遵循的多线程最佳实践
50、 如何强制启动一个线程?
51、 Java 中的 fork join 框架是什么?
52、Java 多线程中调用 wait() 和 sleep()方法有什么不同?
53、什么是 Thread Group?为什么不建议使用它?
54、 什么是 Java 线程转储(Thread Dump),如何得到它?
55、 什么是 Java Timer 类?如何创建一个有特定时间间隔的任务?
56、什么是原子操作?在 Java Concurrency API 中有哪些原子类(atomic classes)?
57、 Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什么优势?
58、 什么是 Executor 框架?
59、Executors 类是什么?
60、 什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?
61、什么是 Callable 和 Future?
62 、什么是 FutureTask?
63、 什么是并发容器的实现?
64、用户线程和守护线程有什么区别?
65、有哪些不同的线程生命周期?
66、线程之间是如何通信的?
67、为什么 Thread 类的 sleep()和 yield()方法是静态的?
68、如何确保线程安全?
69、同步方法和同步块,哪个是更好的选择?
70、如何创建守护线程?
71、线程调度策略?
72 、在线程中你怎么处理不可捕捉异常?