正如圈內(nèi)的大佬所說的那樣,基礎(chǔ)很重要。浙江優(yōu)就業(yè)的老師幫你總結(jié)一下。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了祁陽免費建站歡迎大家使用!
常見的面試題有:
安卓圖片加載后一直在手機如何優(yōu)化?
解釋一下安卓中SharedPreferences類?
客戶端和服務(wù)端如何收發(fā)信息?
activity里如何發(fā)起http請求?
安卓UI線程調(diào)用sleep?
static類如何回收?
接口和抽象類
JVM垃圾回收算法
如何區(qū)分哪些是老年代對象?
線程池
線程終止
設(shè)計模式
單例
JDBC
Runnable
run()
start()
區(qū)別?
Socket
靜態(tài)代碼塊和構(gòu)造器的執(zhí)行順序
final的map能否修改?
String
StringBuffer
StringBuild區(qū)別?
內(nèi)存泄露?
ArraryList
LinkedList
HashMap原理
linux常用命令
查看進程PS
redis相關(guān)?
運行時異常
一個對象為空,怎么進行處理?
泛型
哪里用到?什么好處
?
對數(shù)據(jù)庫進行一些操作,mybatis要進行哪些操作?
為什么Java是跨平臺?
匿名內(nèi)部類能不能有外部內(nèi)的接口?(反正跟匿名內(nèi)部類有關(guān))?
@Test
測試用例
干嘛
如何獲取http的參數(shù)?
Controller的參數(shù)設(shè)置,為什么是單例的?
@autowired裝載一個類,構(gòu)造器里能不能直接調(diào)用這個類
?
spring和springmvc區(qū)別?
springmvc跨域?
鎖的種類等
望采納!
下面是10道java基礎(chǔ)面試題,后附答案
1.什么是 Java 虛擬機?為什么 Java 被稱作是“平臺無關(guān)的編程語言”?
Java 虛擬機是一個可以執(zhí)行 Java 字節(jié)碼的虛擬機進程。Java 源文件被編譯成能被 Java 虛擬機執(zhí)行的字節(jié)碼文件。
Java 被設(shè)計成允許應(yīng)用程序可以運行在任意的平臺,而不需要程序員為每一個平臺單獨重寫或者是重新編譯。Java 虛擬機讓這個變?yōu)榭赡?,因為它知道底層硬件平臺的指令長度和其他特性。
2.“static”關(guān)鍵字是什么意思?Java 中是否可以覆蓋(override)一個 private 或者是static 的方法?
“static”關(guān)鍵字表明一個成員變量或者是成員方法可以在沒有所屬的類的實例變量的情況下被訪問。
Java 中 static 方法不能被覆蓋,因為方法覆蓋是基于運行時動態(tài)綁定的,而 static 方法是編譯時靜態(tài)綁定的。static 方法跟類的任何實例都不相關(guān),所以概念上不適用。
3.JDK 和 JRE 的區(qū)別是什么?
Java 運行時環(huán)境(JRE)是將要執(zhí)行 Java 程序的 Java 虛擬機。它同時也包含了執(zhí)行 applet 需要的瀏覽器插件。Java 開發(fā)工具包 (JDK)是完整的 Java 軟件開發(fā)包,包含了 JRE,編譯器和其他的工具(比如:JavaDoc,Java 調(diào)試器),可以讓開發(fā)者開發(fā)、編譯、執(zhí)行 Java 應(yīng)用程序。
4.是否可以在 static 環(huán)境中訪問非 static 變量?
static 變量在 Java 中是屬于類的,它在所有的實例中的值是一樣的。當(dāng)類被 Java 虛擬機載入的時候,會對 static 變量進行初始化。如果你的代碼嘗試不用實例來訪問非 static 的變量,編譯器會報錯,因為這些變量還沒有被創(chuàng)建出來,還沒有跟任何實例關(guān)聯(lián)上。
5.Java 支持的數(shù)據(jù)類型有哪些?什么是自動拆裝箱?
Java 語言支持的 8 中基本數(shù)據(jù)類型是:
?byte
?short
?int
?long
?float
?double
?boolean
?char
自動裝箱是 Java 編譯器在基本數(shù)據(jù)類型和對應(yīng)的對象包裝類型之間做的一個轉(zhuǎn)化。比如:把 int 轉(zhuǎn)化成 Integer,double 轉(zhuǎn)化成 double,等等。反之就是自動拆箱。
6.Java 支持多繼承么?
不支持,Java 不支持多繼承。每個類都只能繼承一個類,但是可以實現(xiàn)多個接口。
7.Java 中,什么是構(gòu)造函數(shù)?什么是構(gòu)造函數(shù)重載?什么是復(fù)制構(gòu)造函數(shù)?
當(dāng)新對象被創(chuàng)建的時候,構(gòu)造函數(shù)會被調(diào)用。每一個類都有構(gòu)造函數(shù)。在程序員沒有給類提供構(gòu)造函數(shù)的情況下,Java 編譯器會為這個類創(chuàng)建一個默認(rèn)的構(gòu)造函數(shù)。
Java 中構(gòu)造函數(shù)重載和方法重載很相似??梢詾橐粋€類創(chuàng)建多個構(gòu)造函數(shù)。每一個構(gòu)造函數(shù)必須有它自己唯一的參數(shù)列表。
Java 不支持像 C++中那樣的復(fù)制構(gòu)造函數(shù),這個不同點是因為如果你不自己寫構(gòu)造函數(shù)的情況下,Java 不會創(chuàng)建默認(rèn)的復(fù)制構(gòu)造函數(shù)。
8.Java 中的方法覆蓋(Overriding)和方法重載(Overloading)是什么意思?
Java 中的方法重載發(fā)生在同一個類里面兩個或者是多個方法的方法名相同但是參數(shù)不同的情況。與此相對,方法覆蓋是說子類重新定義了父類的方法。方法覆蓋必須有相同的方法名,參數(shù)列表和返回類型。覆蓋者可能不會限制它所覆蓋的方法的訪問。
9.接口和抽象類的區(qū)別是什么?
Java 提供和支持創(chuàng)建抽象類和接口。它們的實現(xiàn)有共同點,不同點在于:
?接口中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法。
?類可以實現(xiàn)很多個接口,但是只能繼承一個抽象類
?類如果要實現(xiàn)一個接口,它必須要實現(xiàn)接口聲明的所有方法。但是,類可以不實現(xiàn)抽象類聲明的所有方法,當(dāng)然,在這種情況下,類也必須得聲明成是抽象的。
?抽象類可以在不提供接口方法實現(xiàn)的情況下實現(xiàn)接口。
?Java 接口中聲明的變量默認(rèn)都是 final 的。抽象類可以包含非 final 的變量。
?Java 接口中的成員函數(shù)默認(rèn)是 public 的。抽象類的成員函數(shù)可以是 private, protected 或者是 public。
?接口是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含 main 方法的話是可以被調(diào)用的。
10.什么是值傳遞和引用傳遞?
對象被值傳遞,意味著傳遞了對象的一個副本。因此,就算是改變了對象副本,也不會影響源對象的值。
對象被引用傳遞,意味著傳遞的并不是實際的對象,而是對象的引用。因此,外部對引用對象所做的改變會反映到所有的對象上。
最后祝你面試順利!
1.java異常機制的原理與應(yīng)用\x0d\x0a答:每當(dāng)程序出現(xiàn)異常之后,如果程序沒有進行相應(yīng)的處理,則程序會出現(xiàn)中斷現(xiàn)象。\x0d\x0a實際上,產(chǎn)生了異常之后,JVM會拋出一個異常類的實例化對象,如果此時使用了try語句捕獲的話,則可以進行異常的處理,否則,交給JVM進行處理。當(dāng)try語句捕獲異常之后,將與catch語句的異常類型進行匹配,如果匹配成功則執(zhí)行catch內(nèi)的語句。簡單的應(yīng)用:在所以throws語句的地方加入try-catch。標(biāo)準(zhǔn)應(yīng)用:try-catch-finally-throw-throws一起使用。 \x0d\x0a\x0d\x0a2. 垃圾回收機制的優(yōu)點\x0d\x0a答:釋放無用的對象所占用的空間。方式:自動回收,手動回收。使用System.gc(),實際上調(diào)用Runtime.getRuntime().gc()\x0d\x0a\x0d\x0a3. Error與Exception區(qū)別\x0d\x0a答:Error是jvm進行處理,是jvm出錯\x0d\x0aexception是可以由程序處理的,可以用try-catch捕獲的\x0d\x0a\x0d\x0a4. final,finally,finallize\x0d\x0a答:final定義的變量的值不能改變,定義的方法不能被覆蓋,定義的類不能被繼承\(zhòng)x0d\x0afinally是異常的統(tǒng)一出口,finallize是垃圾回收前的收尾工作,是Object類定義的\x0d\x0a\x0d\x0a5. Anonymous Inner Class是否可以extends,是否可以implements Interface\x0d\x0a答:允許繼承和實現(xiàn),因為匿名內(nèi)部類就是在抽象類和接口的基礎(chǔ)上發(fā)展起來的\x0d\x0a\x0d\x0a6. Static Nested Class 與Inner Class的區(qū)別\x0d\x0a答:使用Static定義的Class就是外部類,可以通過外部類. 內(nèi)部類直接訪問\x0d\x0a而Inner Class是不能被外部訪問的,只能通過外部類的實例再找到內(nèi)部類實例。\x0d\x0a\x0d\x0a7. HashMap and HashTable?\x0d\x0a答:HashMap:1) released in jdk 1.2,new Class 2)采用異步處理方式,性能較高,是非線程安全的 3)允許null\x0d\x0aHashTable:\x0d\x0a1)released in jdk 1.0 ,old Class \x0d\x0a2)采用同步處理方式,性能低,是線程安全的\x0d\x0a3)不允許null\x0d\x0a\x0d\x0a8. assert代表什么?\x0d\x0a答:asserts是jdk 1.4之后發(fā)布的新關(guān)鍵字,表示斷言,即程序執(zhí)行到某個地方肯定是預(yù)計的值,一般開發(fā)很少使用。要使用assert,必須加上 -ea參數(shù)\x0d\x0a\x0d\x0a9. gc是什么?\x0d\x0a答:gc是garbage collection,垃圾回收,使用gc可以進行垃圾空間的釋放\x0d\x0a\x0d\x0a10. String s = new String("xyz")產(chǎn)生了幾個對象?\x0d\x0a答:一個匿名對象xyz,在棧空間內(nèi)。一個new實例化的對象,在堆空間內(nèi)。\x0d\x0a\x0d\x0a11. sleep() and wait()?\x0d\x0a答:sleep()是Thread類定義方法,表示線程的休眠,可以自動喚醒\x0d\x0await()方法是Object類定義的方法,需要手動notify()和notifyAll()//sleep()不釋放資源,wait()釋放資源\x0d\x0a\x0d\x0a12. Overload與Override的區(qū)別\x0d\x0a答:Overload:重載\x0d\x0a |- 在一個類中定義的若干方法\x0d\x0a |- 所有的方法名相同,但參數(shù)類型或個數(shù)不同\x0d\x0a |- 只有參數(shù)有關(guān),與返回類型無關(guān)\x0d\x0aOverride:覆寫\x0d\x0a |- 在繼承的關(guān)系中\(zhòng)x0d\x0a |- 子類定義了父類同名的方法,參數(shù)類型或個數(shù)最好完全一樣。\x0d\x0a |- 訪問權(quán)限不能更嚴(yán)格\x0d\x0a\x0d\x0a13. abstract class 和 interface有什么區(qū)別?\x0d\x0a答:抽象類:\x0d\x0a |-由抽象方法和常量、變量、全局常量、構(gòu)造方法、普通方法組成\x0d\x0a |-使用abstract聲明\x0d\x0a |-子類要通過extends繼承抽象類,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法\x0d\x0a |-存在單繼承的局限\x0d\x0a |-抽象類可以實現(xiàn)若干個接口\x0d\x0a接口:\x0d\x0a |-由抽象方法和全局常量組成\x0d\x0a |-使用interface關(guān)鍵字\x0d\x0a |-子類要通過implements實現(xiàn)接口,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法\x0d\x0a |-一個子類可以實現(xiàn)多個接口\x0d\x0a |-接口不能繼承一個抽象類,但允許繼承多個接口
本文名稱:面試代碼題java 面試代碼題庫
文章轉(zhuǎn)載:http://jinyejixie.com/article8/dosjdip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、面包屑導(dǎo)航、服務(wù)器托管、搜索引擎優(yōu)化、網(wǎng)站策劃、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)