當前位置:首頁 » 編程語言 » java協程

java協程

發布時間: 2025-06-20 20:44:19

java面試中經常被問到的問題有哪些

java面試中經常被問到的問題有如下:

1、進程,線程,協程之間的區別是什麼?

簡而言之,進程是程序運行和資源分配的基本單位,一個程序至少有一個進程,一個進程至少有一個線程。進程在執行過程中擁有獨立的內存單元,而多個線程共享內存資源,減少切換次數,從而效率更高。線程是進程的一個實體,是cpu調度和分派的基本單位,是比程序更小的能獨立運行的基本單位。同一進程中的多個線程之間可以並發執行。

2、你了解守護線程嗎?它和非守護線程有什麼區別?

程序運行完畢,jvm會等待非守護線程完成後關閉,但是jvm不會等待守護線程。守護線程最典型的例子就是GC線程。

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

多線程的上下文切換是指CPU控制權由一個已經正在運行的線程切換到另外一個就緒並等待獲取CPU執行權的線程的過程。

4、創建兩種線程的方式?他們有什麼區別?

通過實現java.lang.Runnable或者通過擴展java.lang.Thread類。相比擴展Thread,實現Runnable介面可能更優.原因有二:Java不支持多繼承。因此擴展Thread類就代表這個子類不能擴展其他類。而實現Runnable介面的類還可能擴展另一個類。類可能只要求可執行即可,因此繼承整個Thread類的開銷過大。

5、Thread類中的start()和run()方法有什麼區別?

start()方法被用來啟動新創建的線程,而且start()內部調用了run()方法,這和直接調用run()方法的效果不一樣。當你調用run()方法的時候,只會是在原來的線程中調用,沒有新的線程啟動,start()方法才會啟動新線程。

熱點內容
win8網頁緩存 發布:2025-06-20 23:46:27 瀏覽:590
哪裡看已經連接的網路密碼 發布:2025-06-20 23:35:26 瀏覽:931
優酷不能上傳視頻 發布:2025-06-20 23:27:46 瀏覽:686
公司資料庫管理 發布:2025-06-20 23:19:49 瀏覽:525
c語言gdi 發布:2025-06-20 23:18:40 瀏覽:167
攔截碼源碼分享 發布:2025-06-20 23:18:35 瀏覽:499
硬碟存儲為何容量有限制 發布:2025-06-20 23:16:38 瀏覽:114
php相冊上傳 發布:2025-06-20 23:10:21 瀏覽:258
java生成10個隨機數 發布:2025-06-20 22:57:59 瀏覽:509
c迪傑斯特拉演算法 發布:2025-06-20 22:57:20 瀏覽:768