华南俳烁实业有限公司

java

當(dāng)前位置:中華考試網(wǎng) >> java >> java面試題 >> 文章內(nèi)容

Java面試高頻難題匯總

來(lái)源:中華考試網(wǎng)  [2020年10月21日]  【

  Java仍然是企業(yè)需求量非常多的人才,但是有些小伙伴通過(guò)Java培訓(xùn)機(jī)構(gòu)進(jìn)入Java行業(yè),有部分Java基礎(chǔ)比較薄弱的可能在面試的時(shí)候并不順利,為此本篇總結(jié)了一份Java面試高頻難題,希望對(duì)于正在進(jìn)行Java面試的你有所幫助。

  分享一個(gè) Java 面試難題。為什么 C++ 支持運(yùn)算符重載而 Java 不支持?

  有人可能會(huì)說(shuō) + 運(yùn)算符在 Java 中已被重載用于字符串連接,不要被這些論據(jù)所欺騙。與 C++ 不同,Java 不支持運(yùn)算符重載。Java 不能為程序員提供自由的標(biāo)準(zhǔn)算術(shù)運(yùn)算符重載,例如+, -,*和/等。如果你以前用過(guò) C++,那么 Java 與 C++ 相比少了很多功能,例如 Java 不支持多重繼承,Java中沒(méi)有指針,Java中沒(méi)有地址引用傳遞。另一個(gè)類似的問(wèn)題是關(guān)于 Java 通過(guò)引用傳遞,這主要表現(xiàn)為 Java 是通過(guò)值還是引用傳參。雖然我不知道背后的真正原因,但我認(rèn)為以下說(shuō)法有些道理,為什么 Java 不支持運(yùn)算符重載。

  1) 簡(jiǎn)單性和清晰性。清晰性是 Java 設(shè)計(jì)者的目標(biāo)之一。設(shè)計(jì)者不是只想復(fù)制語(yǔ)言,而是希望擁有一種清晰,真正面向?qū)ο蟮恼Z(yǔ)言。添加運(yùn)算符重載比沒(méi)有它肯定會(huì)使設(shè)計(jì)更復(fù)雜,并且它可能導(dǎo)致更復(fù)雜的編譯器, 或減慢 JVM,因?yàn)樗枰鲱~外的工作來(lái)識(shí)別運(yùn)算符的實(shí)際含義,并減少優(yōu)化的機(jī)會(huì), 以保證 Java 中運(yùn)算符的行為。

  2) 避免編程錯(cuò)誤。Java 不允許用戶定義的運(yùn)算符重載,因?yàn)槿绻试S程序員進(jìn)行運(yùn)算符重載,將為同一運(yùn)算符賦予多種含義,這將使任何開(kāi)發(fā)人員的學(xué)習(xí)曲線變得陡峭,事情變得更加混亂。據(jù)觀察,當(dāng)語(yǔ)言支持運(yùn)算符重載時(shí),編程錯(cuò)誤會(huì)增加,從而增加了開(kāi)發(fā)和交付時(shí)間。由于 Java和 JVM 已經(jīng)承擔(dān)了大多數(shù)開(kāi)發(fā)人員的責(zé)任,如在通過(guò)提供垃圾收集器進(jìn)行內(nèi)存管理時(shí),因?yàn)檫@個(gè)功能增加污染代碼的機(jī)會(huì), 成為編程錯(cuò)誤之源, 因此沒(méi)有多大意義。

  3) JVM復(fù)雜性。從JVM的角度來(lái)看,支持運(yùn)算符重載使問(wèn)題變得更加困難。通過(guò)更直觀,更干凈的方式使用方法重載也能實(shí)現(xiàn)同樣的事情,因此不支持 Java 中的運(yùn)算符重載是有意義的。與相對(duì)簡(jiǎn)單的 JVM 相比,復(fù)雜的 JVM 可能導(dǎo)致 JVM 更慢,并為保證在 Java 中運(yùn)算符行為的確定性從而減少了優(yōu)化代碼的機(jī)會(huì)。

  4) 讓開(kāi)發(fā)工具處理更容易。這是在 Java 中不支持運(yùn)算符重載的另一個(gè)好處。省略運(yùn)算符重載后使語(yǔ)言更容易處理,如靜態(tài)分析等,這反過(guò)來(lái)又更容易開(kāi)發(fā)處理語(yǔ)言的工具,例如 IDE 或重構(gòu)工具。Java 中的重構(gòu)工具遠(yuǎn)勝于 C++。

  END

  沒(méi)有人能隨隨便便成功,如果你想進(jìn)入高薪IT行業(yè),卻不知如何入門(mén)。建議你選擇參加培訓(xùn),培訓(xùn)領(lǐng)你入門(mén),給你一次最快捷的拿高薪的機(jī)會(huì),但你的努力,你真心的想為那個(gè)結(jié)果去付出,才是最最重要的。

  填寫(xiě)下面表單即可預(yù)約申請(qǐng)免費(fèi)試聽(tīng)java課程!

害怕學(xué)不會(huì)?助教全程陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?

一地學(xué)習(xí),可全國(guó)推薦就業(yè)!

預(yù)約申請(qǐng)免費(fèi)聽(tīng)java課程

  • 地區(qū):
  • 姓名:
  • 手機(jī):
責(zé)編:fushihao
  • 會(huì)計(jì)考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語(yǔ)考試
  • 學(xué)歷考試
自贡市| 闵行区| 浦北县| 渭南市| 洪江市| 辽宁省| 湖北省| 调兵山市| 松溪县| 兴文县| 崇州市| 新安县| 商城县| 西华县| 琼中| 柯坪县| 沙坪坝区| 定安县| 门头沟区| 大悟县| 天台县| 合川市| 维西| 游戏| 永平县| 永丰县| 宁都县| 阿坝县| 沅陵县| 南阳市| 始兴县| 河池市| 偃师市| 枣阳市| 萝北县| 乃东县| 扶沟县| 辛集市| 泰州市| 醴陵市| 天镇县|