大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 送給正在苦惱如何應對Java面試的你們

送給正在苦惱如何應對Java面試的你們

更新時間:2018-12-19 09:19:26 來源:動力節(jié)點 瀏覽2754次

  多線程和并發(fā)問題是Java技術面試中面試官比較喜歡問的問題之一。在這里,從面試的角度列出了大部分重要的問題,但是你仍然應該牢固的掌握Java編程多線程基礎知識來對應日后碰到的問題。


timg (45).jpg


  Java多線程面試問題


  進程和線程之間有什么不同?


  一個進程是一個獨立(selfcontained)的運行環(huán)境,它可以被看作一個程序或者一個應用。而線程是在進程中執(zhí)行的一個任務。Java運行環(huán)境是一個包含了不同的類和程序的單一進程。線程可以被稱為輕量級進程。線程需要較少的資源來創(chuàng)建和駐留在進程中,并且可以共享進程中的資源。


  多線程編程的好處是什么?


  在多線程程序中,多個線程被并發(fā)的執(zhí)行以提高程序的效率,CPU不會因為某個線程需要等待資源而進入空閑狀態(tài)。多個線程共享堆內存(heapmemory),因此創(chuàng)建多個線程去執(zhí)行一些任務會比創(chuàng)建多個進程更好。舉個例子,Servlets比CGI更好,是因為Servlets支持多線程而CGI不支持。


  用戶線程和守護線程有什么區(qū)別?


  當我們在Java程序中創(chuàng)建一個線程,它就被稱為用戶線程。一個守護線程是在后臺執(zhí)行并且不會阻止JVM終止的線程。當沒有用戶線程在運行的時候,JVM關閉程序并且退出。一個守護線程創(chuàng)建的子線程依然是守護線程。


  我們如何創(chuàng)建一個線程?


  有兩種創(chuàng)建線程的方法:一是實現(xiàn)Runnable接口,然后將它傳遞給Thread的構造函數(shù),創(chuàng)建一個Thread對象;二是直接繼承Thread類。若想了解更多可以閱讀這篇關于如何在Java中創(chuàng)建線程的文章。


  有哪些不同的線程生命周期?


  當我們在Java程序中新建一個線程時,它的狀態(tài)是New。當我們調用線程的start()方法時,狀態(tài)被改變?yōu)镽unnable。線程調度器會為Runnable線程池中的線程分配CPU時間并且講它們的狀態(tài)改變?yōu)镽unning。其他的線程狀態(tài)還有Waiting,Blocked和Dead。讀這篇文章可以了解更多關于線程生命周期的知識。


  可以直接調用Thread類的run()方法么?


  當然可以,但是如果我們調用了Thread的run()方法,它的行為就會和普通的方法一樣,為了在新的線程中執(zhí)行我們的代碼,必須使用Thread.start()方法。


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


  我們可以使用Thread類的Sleep()方法讓線程暫停一段時間。需要注意的是,這并不會讓線程終止,一旦從休眠中喚醒線程,線程的狀態(tài)將會被改變?yōu)镽unnable,并且根據(jù)線程調度,它將得到執(zhí)行。


  你對線程優(yōu)先級的理解是什么?


  每一個線程都是有優(yōu)先級的,一般來說,高優(yōu)先級的線程在運行時會具有優(yōu)先權,但這依賴于線程調度的實現(xiàn),這個實現(xiàn)是和操作系統(tǒng)相關的(OSdependent)。我們可以定義線程的優(yōu)先級,但是這并不能保證高優(yōu)先級的線程會在低優(yōu)先級的線程前執(zhí)行。線程優(yōu)先級是一個int變量(從1-10),1代表最低優(yōu)先級,10代表最高優(yōu)先級。


  什么是線程調度器(ThreadScheduler)和時間分片(TimeSlicing)?


  線程調度器是一個操作系統(tǒng)服務,它負責為Runnable狀態(tài)的線程分配CPU時間。一旦我們創(chuàng)建一個線程并啟動它,它的執(zhí)行便依賴于線程調度器的實現(xiàn)。時間分片是指將可用的CPU時間分配給可用的Runnable線程的過程。分配CPU時間可以基于線程優(yōu)先級或者線程等待的時間。線程調度并不受到Java虛擬機控制,所以由應用程序來控制它是更好的選擇(也就是說不要讓你的程序依賴于線程的優(yōu)先級)。


  在多線程中,什么是上下文切換(context-switching)?


  上下文切換是存儲和恢復CPU狀態(tài)的過程,它使得線程執(zhí)行能夠從中斷點恢復執(zhí)行。上下文切換是多任務操作系統(tǒng)和多線程環(huán)境的基本特征。


  好啦,小編就說到這里了,以上問題還請牢記,肯定會對你今后面試有所幫助,如果你還有其它疑問,可以到動力節(jié)點IT培訓官網咨詢在線老師哦。


  


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲性大片 | 国内视频自拍在线视频 | 国产成人精品免费视 | 欧美一区二区在线观看免费网站 | 五月亭亭免费高清在线 | 天堂一区二区三区精品 | 国内精品综合九九久久精品 | 中文字幕123区 | 人人澡 人人澡 人人看欧美 | 九九精品免费视频 | 亚洲一本通 | 欧美日韩亚洲精品一区二区三区 | 一及黄色毛片 | 国产欧美一区二区三区沐欲 | 亚洲成a人片77777kkk | 中文字幕中韩乱码亚洲大片 | 四虎在线视频 | 国产日日干 | 欧美一级爱操视频 | 国产毛片在线 | 四虎影院在线看 | 亚州一级毛片在线 | 一区二区三区在线播放视频 | 久久成人永久免费播放 | 中文字幕在线观 | 久久亚洲精选 | 亚洲中字在线 | 99九九成人免费视频精品 | 欧美一区永久视频免费观看 | 99精品国产高清一区二区 | 欧美日韩影视 | 久久伊人久久亚洲综合 | 香蕉伊人网| 国产视频二区在线观看 | 香蕉视频禁止18 | 国产精品丝袜在线 | 一级毛片私人影院 | 亚洲国产成人99精品激情在线 | 在线视频免费国产成人 | 最近免费中文字幕大全免费版视频 | 日本玖玖|