日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java面试宝典 多线程,《java面试宝典》之java多线程面试题

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java面试宝典 多线程,《java面试宝典》之java多线程面试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1:什么是線程?

輕量級的進程

2:線程的三個部分是?

處理機

代碼

數據

3:為什么使用多線程

使UI響應更快

利用多處理器系統

簡化建模

4:代碼示例:Java中實現多線程的兩種方式,包括如何定義多線程,如何使用多線程

4.1實現Runnable接口

class?Thread1?implements?Runnable{

public?void?run(){

//run里一般寫一個while(true)循環

System.out.println(Runnable);

}

}

4.2繼承Thread

class?Thread2?extends?Thread{

public?void?run(){

System.out.println(extends);

}

}

public?class?Test{

public?static?void?main(String[]?a){

Thread1?r?=?new?Thread1();

Thread?t1?=?new?Thread(r);

Thread?t2?=?new?Thread(r);

t1.start();

t2.start();

Thread?t3?=?new?Thread2();

t3.start();

}

}

5:如何實現線程的調度?如何暫停一個線程的運行

調度用wait和notify

sleep()

6:什么是線程的優先級

判斷哪個線程先執行的級別

7:簡述sleep方法和wait方法的功能和區別

sleep是讓線程休眠一段時間

wait是讓線程掛起

8:什么是守候線程

隱藏在后臺持續運行的線程

9:什么是臨界資源

指多個線程共享的資源

10:什么是互斥鎖,Java中如何實現

用來保證在任一時刻只能有一個線程來訪問臨界資源的那個標記

用在對象前面限制一段代碼的執行

用在方法聲明中,表示整個方法為同步方法。

11:什么是死鎖?如何避免?

如果程序中有多個線程競爭多個資源,就可能會產生死鎖。當一個線程等待

由另一個線程持有的鎖,而后者正在等待已被第一個線程持 有的鎖時,就會

發生死鎖。

要避免死鎖,應該確保在獲取多個鎖時,在所有的線程中都以相同的順序獲取鎖。

盡量少用臨界資源

12:簡述wait和notify,notifyAll的使用

被鎖定的對象可以調用wait()方法,這將導致當前線程被阻塞并放棄該對象

的互斥鎖,即解除了wait()方法的當前對象的鎖定狀態,其 他的線程就有機

會訪問該對象。

notify使等待隊列上的一個線程離開阻塞狀態

notifyAll使等待隊列上的所有線程離開阻塞狀態

13:什么是url?基本的格式是?

統一資源定位器

Http://www.163.com:port

14:簡述IP,Port,TCP的基本功能

IP代表網絡位置

Port代表端口號

TCP可保證不同廠家生產的計算機能在共同網絡環境下運行,解決異構網通信問題,是目前網絡通信的基本協議

15:簡述Java網絡模型的基本功能

描述服務端和客戶端的連接過程

16:簡述Java網絡編程究竟做些什么?如何做?

1.建立連接

2.準備輸出的數據,流式輸出

3.流式輸入,編程業務需要的格式

4.關閉連接

服務器分配一個端口號。如果客戶請求一個連接,服務器使用accept()方法打開socket連接。

客戶在host的port端口建立連接。

服務器和客戶使用InputStream和OutputStream進行通信。

17:代碼示例:基于Socket編程

try?{

ServerSocket?s?=?new?ServerSocket(8888);

while?(true)?{

Socket?s1?=?s.accept();

OutputStream?os?=?s1.getOutputStream();

DataOutputStream?dos?=?new?DataOutputStream(os);

dos.writeUTF("Hello,"?+s1.getInetAddress()?+?"port#"?+?s1.getPort()?+?"\nbye!");

dos.close();

s1.close();

}

}catch?(IOException?e)?{

System.out.println("程序運行出錯:"?+?e);

}

18:代碼示例:基于UDP編程

19:TCP和UDP區別

TCP能保證傳輸內容的完整和準確,UDP不能

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java面试宝典 多线程,《java面试宝典》之java多线程面试题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。