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

Java面試的一些基礎(chǔ)試題


  動(dòng)力節(jié)點(diǎn)Java培訓(xùn)班681班馬上就要就業(yè)了,小編也是捏了一把汗呢,小編今天為Java學(xué)員們就業(yè)呢整理了一些常見(jiàn)的基礎(chǔ)性的問(wèn)題,希望呢能對(duì)Java培訓(xùn)班的同學(xué)們有一些小小的幫助呢。


  1.什么是Java虛擬機(jī)?為什么Java被稱作是“平臺(tái)無(wú)關(guān)的編程語(yǔ)言”?


  2.JDK和JRE的區(qū)別是什么?


  3.”static”關(guān)鍵字是什么意思?Java中是否可以覆蓋(override)一個(gè)private或者是static的方法?


  4.是否可以在static環(huán)境中訪問(wèn)非static變量?


  5.Java支持的數(shù)據(jù)類型有哪些?什么是自動(dòng)拆裝箱?


   6.Java中的方法覆蓋(Overriding)和方法重載(Overloading)是什么意思?


  7.Java中,什么是構(gòu)造函數(shù)?什么是構(gòu)造函數(shù)重載?什么是復(fù)制構(gòu)造函數(shù)?


  8.Java支持多繼承么?


  9.接口和抽象類的區(qū)別是什么?


  10.什么是值傳遞和引用傳遞?


  11.進(jìn)程和線程的區(qū)別是什么?


  12.創(chuàng)建線程有幾種不同的方式?你喜歡哪一種?為什么?


  13.概括的解釋下線程的幾種可用狀態(tài)。


  14.同步方法和同步代碼塊的區(qū)別是什么?


  15.在監(jiān)視器(Monitor)內(nèi)部,是如何做線程同步的?程序應(yīng)該做哪種級(jí)別的同步?


  答案下方↓


  1.Java虛擬機(jī)是一個(gè)可以執(zhí)行Java字節(jié)碼的虛擬機(jī)進(jìn)程。Java源文件被編譯成能被Java虛擬機(jī)執(zhí)行的字節(jié)碼文件。


  Java被設(shè)計(jì)成允許應(yīng)用程序可以運(yùn)行在任意的平臺(tái),而不需要程序員為每一個(gè)平臺(tái)單獨(dú)重寫(xiě)或者是重新編譯。Java虛擬機(jī)讓這個(gè)變?yōu)榭赡埽驗(yàn)樗赖讓佑布脚_(tái)的指令長(zhǎng)度和其他特性。


  2.Java運(yùn)行時(shí)環(huán)境(JRE)是將要執(zhí)行Java程序的Java虛擬機(jī)。它同時(shí)也包含了執(zhí)行applet需要的瀏覽器插件。Java開(kāi)發(fā)工具包(JDK)是完整的Java軟件開(kāi)發(fā)包,包含了JRE,編譯器和其他的工具(比如:JavaDoc,Java調(diào)試器),可以讓開(kāi)發(fā)者開(kāi)發(fā)、編譯、執(zhí)行Java應(yīng)用程序。


  3.“static”關(guān)鍵字表明一個(gè)成員變量或者是成員方法可以在沒(méi)有所屬的類的實(shí)例變量的情況下被訪問(wèn)。


  Java中static方法不能被覆蓋,因?yàn)榉椒ǜ采w是基于運(yùn)行時(shí)動(dòng)態(tài)綁定的,而static方法是編譯時(shí)靜態(tài)綁定的。static方法跟類的任何實(shí)例都不相關(guān),所以概念上不適用。


  4.static變量在Java中是屬于類的,它在所有的實(shí)例中的值是一樣的。當(dāng)類被Java虛擬機(jī)載入的時(shí)候,會(huì)對(duì)static變量進(jìn)行初始化。如果你的代碼嘗試不用實(shí)例來(lái)訪問(wèn)非static的變量,編譯器會(huì)報(bào)錯(cuò),因?yàn)檫@些變量還沒(méi)有被創(chuàng)建出來(lái),還沒(méi)有跟任何實(shí)例關(guān)聯(lián)上。


  5.Java語(yǔ)言支持的8中基本數(shù)據(jù)類型是:


  ? byte


  ? short


  ? int


  ? long


  ? float


  ? double


  ? boolean


  ? char


  自動(dòng)裝箱是Java編譯器在基本數(shù)據(jù)類型和對(duì)應(yīng)的對(duì)象包裝類型之間做的一個(gè)轉(zhuǎn)化。比如:把int轉(zhuǎn)化成Integer,double轉(zhuǎn)化成double,等等。反之就是自動(dòng)拆箱。


  6.Java中的方法重載發(fā)生在同一個(gè)類里面兩個(gè)或者是多個(gè)方法的方法名相同但是參數(shù)不同的情況。與此相對(duì),方法覆蓋是說(shuō)子類重新定義了父類的方法。方法覆蓋必須有相同的方法名,參數(shù)列表和返回類型。覆蓋者可能不會(huì)限制它所覆蓋的方法的訪問(wèn)。


  7.當(dāng)新對(duì)象被創(chuàng)建的時(shí)候,構(gòu)造函數(shù)會(huì)被調(diào)用。每一個(gè)類都有構(gòu)造函數(shù)。在程序員沒(méi)有給類提供構(gòu)造函數(shù)的情況下,Java編譯器會(huì)為這個(gè)類創(chuàng)建一個(gè)默認(rèn)的構(gòu)造函數(shù)。


  Java中構(gòu)造函數(shù)重載和方法重載很相似??梢詾橐粋€(gè)類創(chuàng)建多個(gè)構(gòu)造函數(shù)。每一個(gè)構(gòu)造函數(shù)必須有它自己唯一的參數(shù)列表。


  Java不支持像C++中那樣的復(fù)制構(gòu)造函數(shù),這個(gè)不同點(diǎn)是因?yàn)槿绻悴蛔约簩?xiě)構(gòu)造函數(shù)的情況下,Java不會(huì)創(chuàng)建默認(rèn)的復(fù)制構(gòu)造函數(shù)。


  8.不支持,Java不支持多繼承。每個(gè)類都只能繼承一個(gè)類,但是可以實(shí)現(xiàn)多個(gè)接口。


  9.Java提供和支持創(chuàng)建抽象類和接口。它們的實(shí)現(xiàn)有共同點(diǎn),不同點(diǎn)在于:


  ? 接口中所有的方法隱含的都是抽象的。而抽象類則可以同時(shí)包含抽象和非抽象的方法。


  ? 類可以實(shí)現(xiàn)很多個(gè)接口,但是只能繼承一個(gè)抽象類


  ? 類如果要實(shí)現(xiàn)一個(gè)接口,它必須要實(shí)現(xiàn)接口聲明的所有方法。但是,類可以不實(shí)現(xiàn)抽象類聲明的所有方法,當(dāng)然,在這種情況下,類也必須得聲明成是抽象的。


  ? 抽象類可以在不提供接口方法實(shí)現(xiàn)的情況下實(shí)現(xiàn)接口。


  ? Java接口中聲明的變量默認(rèn)都是final的。抽象類可以包含非final的變量。


  ? Java接口中的成員函數(shù)默認(rèn)是public的。抽象類的成員函數(shù)可以是private,protected或者是public。


  ? 接口是絕對(duì)抽象的,不可以被實(shí)例化。抽象類也不可以被實(shí)例化,但是,如果它包含main方法的話是可以被調(diào)用的。


  也可以參考JDK8中抽象類和接口的區(qū)別


  10.對(duì)象被值傳遞,意味著傳遞了對(duì)象的一個(gè)副本。因此,就算是改變了對(duì)象副本,也不會(huì)影響源對(duì)象的值。


  對(duì)象被引用傳遞,意味著傳遞的并不是實(shí)際的對(duì)象,而是對(duì)象的引用。因此,外部對(duì)引用對(duì)象所做的改變會(huì)反映到所有的對(duì)象上。


  Java線程


  11.進(jìn)程是執(zhí)行著的應(yīng)用程序,而線程是進(jìn)程內(nèi)部的一個(gè)執(zhí)行序列。一個(gè)進(jìn)程可以有多個(gè)線程。線程又叫做輕量級(jí)進(jìn)程。


  12.有三種方式可以用來(lái)創(chuàng)建線程:


  ?繼承Thread類


  ?實(shí)現(xiàn)Runnable接口


  ?應(yīng)用程序可以使用Executor框架來(lái)創(chuàng)建線程池


  實(shí)現(xiàn)Runnable接口這種方式更受歡迎,因?yàn)檫@不需要繼承Thread類。在應(yīng)用設(shè)計(jì)中已經(jīng)繼承了別的對(duì)象的情況下,這需要多繼承(而Java不支持多繼承),只能實(shí)現(xiàn)接口。同時(shí),線程池也是非常高效的,很容易實(shí)現(xiàn)和使用。


  13.線程在執(zhí)行過(guò)程中,可以處于下面幾種狀態(tài):


  ? 就緒(Runnable):線程準(zhǔn)備運(yùn)行,不一定立馬就能開(kāi)始執(zhí)行。


  ? 運(yùn)行中(Running):進(jìn)程正在執(zhí)行線程的代碼。


  ? 等待中(Waiting):線程處于阻塞的狀態(tài),等待外部的處理結(jié)束。


  ? 睡眠中(Sleeping):線程被強(qiáng)制睡眠。


  ? I/O阻塞(BlockedonI/O):等待I/O操作完成。


  ? 同步阻塞(BlockedonSynchronization):等待獲取鎖。


  ? 死亡(Dead):線程完成了執(zhí)行。


  14.在Java語(yǔ)言中,每一個(gè)對(duì)象有一把鎖。線程可以使用synchronized關(guān)鍵字來(lái)獲取對(duì)象上的鎖。synchronized關(guān)鍵字可應(yīng)用在方法級(jí)別(粗粒度鎖)或者是代碼塊級(jí)別(細(xì)粒度鎖)。


  15.監(jiān)視器和鎖在Java虛擬機(jī)中是一塊使用的。監(jiān)視器監(jiān)視一塊同步代碼塊,確保一次只有一個(gè)線程執(zhí)行同步代碼塊。每一個(gè)監(jiān)視器都和一個(gè)對(duì)象引用相關(guān)聯(lián)。線程在獲取鎖之前不允許執(zhí)行同步代碼。


  小編為動(dòng)力節(jié)點(diǎn)Java培訓(xùn)班681班的同學(xué)準(zhǔn)備了這么些個(gè)Java面試的時(shí)候常見(jiàn)的小問(wèn)題,希望681班的同學(xué)在Java的路上越走越棒。


  


上一篇:Java和PHP有什么不同
下一篇: Java培訓(xùn)靠譜嗎

開(kāi)班信息

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
主站蜘蛛池模板: 久久福利资源网站免费看 | 在线观看不卡视频 | 亚洲第一人黄所 | 在线欧美一级毛片免费观看 | 日本香蕉视频在线观看 | 青草伊人久久 | 国产成人精品免费 | 97国产影院 | 国产成人99久久亚洲综合精品 | 99久久国产综合精品五月天 | 日韩社区| 人人狠狠综合久久亚洲婷婷 | 国产精品欧美亚洲 | 久久这里只有精品视频99 | 玖玖在线免费视频 | 啪啪网站免费 | 轻轻操在线观看 | 亚洲精品久中文字幕 | 色老头福影院韩国激情影院 | 久久精品视频大全 | 亚洲加勒比久久88色综合1 | 欧美日韩久久毛片 | 免费区欧美一级毛片精品 | 国产精品高清全国免费观看 | 99久久综合精品国产 | 99热精品在线免费观看 | 操综合| 久艹在线播放 | 青青免费视频视频在线 | 性欧美欧美之巨大69 | 热久久最新地址 | 日本三级做a全过程在线观看 | 婷婷成人基地 | 福利视频中文在线观看 | 久久精品国产亚洲香蕉 | 久久青草免费97线频观 | 国产日韩不卡免费精品视频 | 天天se天天cao | 亚洲成人免费视频 | 一本久道久久综合中文字幕 | 国产五月色综合 |