<abbr id="ciwa6"><option id="ciwa6"></option></abbr>
  • <sup id="ciwa6"><kbd id="ciwa6"></kbd></sup>
    <small id="ciwa6"></small>
  • 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

    400-811-9990
    手機(jī)站
    千鋒教育

    千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

    千鋒教育

    掃一掃進(jìn)入千鋒手機(jī)站

    領(lǐng)取全套視頻
    千鋒教育

    關(guān)注千鋒學(xué)習(xí)站小程序
    隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當(dāng)前位置:成都千鋒IT培訓(xùn)  >  面試技巧  >  Java面試:實(shí)用面試題及參考答案

    Java面試:實(shí)用面試題及參考答案

    來源:千鋒教育
    發(fā)布人:千青
    時(shí)間: 2021-12-07 16:18:59

            Java開發(fā)人員在面試中少不了會(huì)被詢問專業(yè)上的問題,面試官到底會(huì)問什么問題呢,想必小伙伴們一定很好奇吧,接下來小編就帶大家一起來看看java常見的面試題。

            1、什么是多線程上下文切換?

            多線程的上下文切換是指CPU控制權(quán)由一個(gè)已經(jīng)正在運(yùn)行的線程切換到另外一個(gè)就緒并等待獲取CPU執(zhí)行權(quán)的線程的過程。

            2、創(chuàng)建兩種線程的方式?他們有什么區(qū)別?

            通過實(shí)現(xiàn)java.lang.Runnable或者通過擴(kuò)展java.lang.Thread類。相比擴(kuò)展Thread,實(shí)現(xiàn)Runnable接口可能更優(yōu).原因有二:Java不支持多繼承。因此擴(kuò)展Thread類就代表這個(gè)子類不能擴(kuò)展其他類。而實(shí)現(xiàn)Runnable接口的類還可能擴(kuò)展另一個(gè)類。類可能只要求可執(zhí)行即可,因此繼承整個(gè)Thread類的開銷過大。

            3、Thread類中的start()和run()方法有什么區(qū)別?

            start()方法被用來啟動(dòng)新創(chuàng)建的線程,而且start()內(nèi)部調(diào)用了run()方法,這和直接調(diào)用run()方法的效果不一樣。當(dāng)你調(diào)用run()方法的時(shí)候,只會(huì)是在原來的線程中調(diào)用,沒有新的線程啟動(dòng),start()方法才會(huì)啟動(dòng)新線程。

            4、怎么檢測(cè)一個(gè)線程是否持有對(duì)象監(jiān)視器?

            Thread類提供了一個(gè)holdsLock(Object obj)方法,當(dāng)且僅當(dāng)對(duì)象obj的監(jiān)視器被某條線程持有的時(shí)候才會(huì)返回true,注意這是一個(gè)static方法,這意味著”某條線程”指的是當(dāng)前線程。

            5、你知道哪些垃圾回收算法?

            垃圾回收從理論上非常容易理解,具體的方法有以下幾種:

            標(biāo)記-清除

            標(biāo)記-復(fù)制

            標(biāo)記-整理

            分代回收

            6、如何判斷一個(gè)對(duì)象是否應(yīng)該被回收?

            這就是所謂的對(duì)象存活性判斷,常用的方法有兩種:

            引用計(jì)數(shù)法;

            對(duì)象可達(dá)性分析。

            由于引用計(jì)數(shù)法存在互相引用導(dǎo)致無法進(jìn)行GC的問題,所以目前JVM虛擬機(jī)多使用對(duì)象可達(dá)性分析算法。

            7、int和Integer的區(qū)別?

            Integer是int的包裝類型,在拆箱和裝箱中,二者自動(dòng)轉(zhuǎn)換。int是基本類型,直接存數(shù)值,而integer是對(duì)象,用一個(gè)引用指向這個(gè)對(duì)象。

            8、String, StringBuffer和StringBuilder區(qū)別?

            String是字符串常量,final修飾:StringBuffer字符串變量(線程安全);

            StringBuilder 字符串變量(線程不安全)。

            9、如何將byte轉(zhuǎn)為String?

            可以使用 String 接收 byte[] 參數(shù)的構(gòu)造器來進(jìn)行轉(zhuǎn)換,需要注意的點(diǎn)是要使用的正確的編碼,否則會(huì)使用平臺(tái)默認(rèn)編碼,這個(gè)編碼可能跟原來的編碼相同,也可能不同。

            10、可以將int強(qiáng)轉(zhuǎn)為byte類型么?會(huì)產(chǎn)生什么問題?

            可以做強(qiáng)制轉(zhuǎn)換,但是Java中int是32位的而byte是8 位的,所以,如果強(qiáng)制轉(zhuǎn)化int類型的高24位將會(huì)被丟棄,byte 類型的范圍是從-128到128。

            以上就是小編為大家整理的Java面試實(shí)用面試題及參考答案,希望可以幫到即將面臨面試的小伙伴們。

            如果你對(duì)于Java開發(fā)感興趣,報(bào)名千鋒成都Java培訓(xùn)課程準(zhǔn)沒錯(cuò),校區(qū)全程采用面授教學(xué)確保學(xué)習(xí)質(zhì)量,現(xiàn)在咨詢更有多種優(yōu)惠活動(dòng)、兩周免費(fèi)試聽課程和全套免費(fèi)Java學(xué)習(xí)視頻免費(fèi)領(lǐng)取,還在等什么,咨詢?cè)诰€老師領(lǐng)取吧。

    聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

    猜你喜歡LIKE

    最新文章NEW

    相關(guān)推薦HOT

    更多>>

    快速通道 更多>>

    最新開班信息 更多>>

    網(wǎng)友熱搜 更多>>