Java併發編程73道面試題快速一覽

1、在java中守護線程和本地線程區別?

2、線程與進程的區別?

3、什麼是多線程中的上下文切換?

4、死鎖與活鎖的區別,死鎖與飢餓的區別?

5、Java中用到的線程調度算法是什麼?

6、什麼是線程組,爲什麼在Java中不推薦使用?

7、爲什麼使用Executor框架?

8、在Java中Executor和Executors的區別?

9、什麼是原子操作?在Java Concurrency API中有哪些原子類(atomic classes)?

10、Java Concurrency API中的Lock接口(Lock interface)是什麼?對比同步它有什麼優勢?

11、什麼是Executors框架?

12、什麼是阻塞隊列?阻塞隊列的實現原理是什麼?如何使用阻塞隊列來實現生產者-消費者模型?

13、什麼是Callable和Future?

14、什麼是FutureTask?

15、什麼是併發容器的實現?

16、多線程同步和互斥有幾種實現方法,都是什麼?

17、什麼是競爭條件?你怎樣發現和解決競爭?

18、你將如何使用thread dump?你將如何分析Thread dump?

19、爲什麼我們調用start()方法時會執行run()方法,爲什麼我們不能直接調用run()方法?

20、Java中你怎樣喚醒一個阻塞的線程?

21、在Java中CycliBarriar和CountdownLatch有什麼區別?

22、什麼是不可變對象,它對寫併發應用有什麼幫助?

23、什麼是多線程中的上下文切換?

24、Java中用到的線程調度算法是什麼?

25、什麼是線程組,爲什麼在Java中不推薦使用?

26、爲什麼使用Executor框架比使用應用創建和管理線程好?

27、java中有幾種方法可以實現一個線程?

28、如何停止一個正在運行的線程?

29、notify()和notifyAll()有什麼區別?

30、什麼是Daemon線程?它有什麼意義?

31、java如何實現多線程之間的通訊和協作?

32、什麼是可重入鎖(ReentrantLock)?

33、當一個線程進入某個對象的一個synchronized的實例方法後,其它線程是否可進入此對象的其它方法?

34、樂觀鎖和悲觀鎖的理解及如何實現,有哪些實現方式?

35、SynchronizedMap和ConcurrentHashMap有什麼區別?

36、CopyOnWriteArrayList可以用於什麼應用場景?

37、什麼叫線程安全?servlet是線程安全嗎?

38、volatile有什麼用?能否用一句話說明下volatile的應用場景?

39、爲什麼代碼會重排序?

40、在java中wait和sleep方法的不同?

41、一個線程運行時發生異常會怎樣?

42、如何在兩個線程間共享數據?

43、Java中notify 和 notifyAll有什麼區別?

45、什麼是ThreadLocal變量?

46、Java中interrupted 和 isInterrupted方法的區別?

47、爲什麼wait和notify方法要在同步塊中調用?

48、爲什麼你應該在循環中檢查等待條件?

49、Java中的同步集合與併發集合有什麼區別?

50、什麼是線程池? 爲什麼要使用它?

51、怎麼檢測一個線程是否擁有鎖?

52、你如何在Java中獲取線程堆棧?

53、JVM中哪個參數是用來控制線程的棧堆棧小的?

54、Thread類中的yield方法有什麼作用?

55、Java中ConcurrentHashMap的併發度是什麼?

56、Java中Semaphore是什麼?

57、Java線程池中submit() 和 execute()方法有什麼區別?

58、什麼是阻塞式方法?

59、Java中的ReadWriteLock是什麼?

60、volatile 變量和 atomic 變量有什麼不同?

61、可以直接調用Thread類的run ()方法麼?

62、如何讓正在運行的線程暫停一段時間?

63、你對線程優先級的理解是什麼?

64、什麼是線程調度器(Thread Scheduler)和時間分片(Time Slicing )?

65、你如何確保main()方法所在的線程是Java 程序最後結束的線程?

66、線程之間是如何通信的?

67、爲什麼線程通信的方法wait(), notify()和notifyAll()被定義在Object 類裏?

68、爲什麼wait(), notify()和notifyAll ()必須在同步方法或者同步塊中被調用?

69、爲什麼Thread類的sleep()和yield ()方法是靜態的?

70、如何確保線程安全?

71、同步方法和同步塊,哪個是更好的選擇?

72、如何創建守護線程?

73、什麼是Java Timer 類?如何創建一個有特定時間間隔的任務?

問題答案整理及更多面試分享

地鐵快餐:Java併發編程73道面試題快速一覽

 

地鐵快餐:Java併發編程73道面試題快速一覽

獲取方式:加羣712477306立即擁有

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章