


版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、本人最近參加了大大小小很多公司的面試,在這里 我把自己面試遇到的問題給大家說一下JAVA基礎篇1、在java類加載器中,系統(tǒng)類加載器和用戶自定義加載器那個先加載?(遇到 這個問題時感覺很意外,沒有想到會問這樣的問題)先加載系統(tǒng)類加載器Java類加載器加載類順序依次為:JVM類加載器:這個模式會加載JAVA_HOME/lib下的jar包擴展類加載器:會加載JAVA_HOME/lib/ext下的jar包系統(tǒng)類加載器:這個會去加載指定了 classpath參數(shù)指定的jar文件用戶自定義類加載器:sun提供的ClassLoader是可以被繼承的,允許用戶自 己實現(xiàn)類加載器2、堆和棧分別存放什么?棧:基
2、本數(shù)據(jù)類型和對象的引用堆:對象和數(shù)組3、String% StringBuffer% StringBuilder 的區(qū)別(l) String是不可變對象,也就是說每次修改String都是新建了一個對象并 賦值(2) StringBuffer是字符緩沖區(qū),修改它不會新建對象,可以使用append()方 法和delete ()方法修改StringBuffer的值(3) StringBuilder可以替代StringBuffer,它是一個單線程使用的類,和 StringBuffer比速度快、效率高,但是是非安全的(4) 三者都是被final修飾的(這一點面試官的問我的時候一直在說,你確定嗎? 搞得我有
3、點虛)4、Java的異常和錯誤有什么區(qū)別?(1) ErrorError是JVM的錯誤,這種錯誤會嚴重影響程序的運行,設計者不會設訃程序 代碼去捕捉這種錯誤,因為即使捕捉到也無法給予適當?shù)奶幚?,比如?nèi)存溢出。(2) ExceptionException包含了一般性的異常,這些異常同在在捕捉到之后便可做妥善的處 理,以確保程序繼續(xù)運行。Exception有很多種分類,從Exception產(chǎn)生的時機上我 們可以把Exception分為 運行時異常運行時異常是指程序運行過程中可能出現(xiàn)的非正常狀態(tài) 非運行時異常非運行時異常是指方法聲明時throws的異常5、&和&的區(qū)別&是位運算符,表示按位與運算。&是
4、邏輯運算符,表示邏輯與。在條件判斷的 時候&必須逐一檢查各個條件,&具有短路功能,只要一個條件為false則不會進行 后續(xù)的判斷。6、abstract class 和 interface 的區(qū)別(1) abstract class是抽象類,聲明方法的存在而不去實現(xiàn)它的類叫做抽象類, 它用于創(chuàng)建一個體現(xiàn)某些基本行為的類。抽象類中不能有構造方法、不能有靜態(tài)方 法,抽象類不能被實例化。抽象類中可以有變量、可以有普通方法、可以有抽象方 法,在繼承抽象方法后,必須實現(xiàn)它的所有抽象方法。(2) interface是接口,接口中的變量必須是靜態(tài)常量(static final),接口中 的方法必須都是抽象方法
5、(abstract),不過山于接口中所有變量、方法修飾符都一 致,因可以不寫。接口的實現(xiàn)必須實現(xiàn)接口中所有的方法。7、final% finally、finalize 的區(qū)別(1) final是用來描述變量、方法、類的關鍵字,表示變量值不可變、方法不可被重寫、類不可被繼承(2) finally是異常處理的關鍵字,表示finally塊里面的代碼一定會被運行 到(3) finalize是Object類中的protected方法,垃圾回收器執(zhí)行的時候會調 用被回收的類的此方法。8、接口是否可以繼承接口?抽象類是否可以實現(xiàn)接口?抽象類是否可以實現(xiàn)實 體類?(1) 接口可以繼承接口(2) 抽象類里可以有普
6、通方法,因此抽象類可以實現(xiàn)接口,只需要實現(xiàn)接口 內(nèi)所有方法就可以了(3) 抽象類里可以有普通方法,變量也不需要是常量,因此抽象類可以實現(xiàn) 實體類9、一個” .java源文件中是否可以包含多個類(非內(nèi)部類)?有什么限制?可以。必須只有一個類名與文件名相同且該類以public修飾10、java是怎么通過包名.類名來獲得該類的實例的?通過 Class. forName ()方法11、介紹一下集合? Collection:是最基本的集合接口,一個collection代表一組Object,即collection 的元素。List:是collection的擴展,作用是收集對象,并以索引方式保留收集對象 的
7、順序。其元素有放入順序,元素可重復。DArrayList:利用類似于數(shù)組的形式來存儲數(shù)據(jù),它的隨機訪問速度極快。2) LinkedList:內(nèi)部實現(xiàn)是鏈表,它適合于在鏈表中間需要頻繁的插入和刪除 操作。3) Vector:與ArrayList相似,但是兩者不同,Vector主要用在事先不知道數(shù)組的大小,或者只是需要一個可以改變大小的數(shù)組的情況。4) ArrayList 與 Vector 的區(qū)別:ArrayList是非線程安全的,效率高Vector是基于線程安全的,效率低。 Set:也是collection的擴展,在Set中的元素對象要求不能重復(注意:元素雖然無放入順序,但是元素在set中的位
8、置是有該元素的HashCode決定的,其位置其 實是固定的)。常用實現(xiàn)類有HashSet和TreeSet。1) HashSet:其核心是HashMap, HashSet中存放的值為HashMap中的key,這也就是HashSet不允許重復的原因。2) TreeSet:底層由平衡二叉樹實現(xiàn),它會將投入其中的元素自動排序,這就 要求投入其中的元素是可排序的,也就是說,存放的必須是同一種數(shù)據(jù)類 型。其實現(xiàn)自動排序的實質是compareable,即public int compareTo(Object obj) if( equals( obj ) )return 0;elseReturn 1;這個方法
9、稱為比較器,可以比較兩個對象,如果對象都一致相等,則返回0 Map:沒有繼承collection接口,提供key到value的映射,也就是說,它是 一種把鍵對象和值對象進行關聯(lián)的容器。1) HashMap:key不允許重復,如果后面的key重復,則會覆蓋前面的值,key允許為null,但是只能有一個。2) TreeMap:key如果是一個對象的話,這個對象所在的類一定要實現(xiàn)compareable 接口,并且重寫 compareTo 方法。3) HashMap 與 HashTable 比較:HashMap: Ih線程安全,高效率,支持nullHashTable:線程安全,低效率,不支持null1
10、2、list、set和map的遍歷方法比較:List:可以用for循環(huán)、for each循環(huán)和Iterator迭代。Set:可以用for each循環(huán)和Iterator迭代。Map:HashMap 只能用 Iterator 迭代。13、寫一個單例設計模式:Public class ApplePrivate static Apple apple;Private Apple( )Public static Apple getApple( ) If(null = apple)apple = new Apple();return apple;elsereturn apple;14、說說static關鍵
11、字:Static表示“全局”或“靜態(tài)”的意思,可以用來修飾成員變量和成員方法, 也可以形成靜態(tài)代碼塊,還可以用來修飾類,但只能修飾內(nèi)部類。static變量:被static修飾的變量叫靜態(tài)變量或者類變量;沒有被static 修飾的變量叫實例變量。二者的區(qū)別是:靜態(tài)變量:在內(nèi)存中只有一個拷貝(節(jié)省內(nèi)存),jvm只會為靜態(tài)分配一次內(nèi)存, 而且在加載類的過程中就完成靜態(tài)變量的內(nèi)存分配。可用類名直接訪問(方便),也 可以用對象來訪問(不推薦)。靜態(tài)變量一般用于對象之間需要共享值時。實例變量:每創(chuàng)建一個實例,就會為實例分配一次內(nèi)存,實例變量在內(nèi)存中可以 有多個拷貝,互不影響(靈活)。 靜態(tài)方法:它可以直接
12、通過“類名靜態(tài)方法”來訪問,任何的實例亦可以調 用。靜態(tài)方法中不能用this和super關鍵字。不能直接訪問所屬類的實例變量和 實例方法,只能訪問所屬類的靜態(tài)變量和成員方法。 static代碼塊:static代碼塊也叫靜態(tài)代碼塊,是在類中獨立于類成員的 static語句塊,可以有多個,位置也可以隨便放,它不在任何的方法體內(nèi),jvm在加載 類時會執(zhí)行這些靜態(tài)代碼塊,如果有多個,則會按照他們在類中出現(xiàn)的先后順序一次 執(zhí)行它們,而且每個代碼塊只會執(zhí)行一次。15、Servlet的生命周期: 加載和實例化:在Servlet容器檢測到需要這個Servlet來響應第一個請求 時,創(chuàng)建Servlet實例。 初
13、始化:在Servlet實例化后,容器將調用Servlet的init()方法初始化這 個對象。 請求處理:Servlet容器將調用Servlet的service ()方法對請求進行處 理。 服務終止:當容器檢測到一個Servlet的實例應該從服務中被移除的時候, 容器就會調用實例的destroy ()方法16、jsp九大內(nèi)置對象范馬|比較:排序為:Appliedtion Session Request Page = Response = out 二 PageContext = config = exception。App lication:服務器啟動到停止這段時間。Session:Http會話開
14、始到結束這段時間(瀏覽器打開到關閉)Request:Http請求開始到結束這段時間,即一個jsp頁面發(fā)出請求到另一個 jsp頁面之間。Page:頁面執(zhí)行,當前頁面從打開到關閉這段時間,它只能在同一個頁面中有效Response:頁面執(zhí)行,包含了客戶請求的有關信息,但jsp中很少用到它。Out:頁面執(zhí)行,向客戶端輸入內(nèi)容時常用的對象PageContext:頁面執(zhí)行,取得任何范禺的參數(shù),通過它可以獲得out、 Requset、Response、Session、application 等對象。Config:頁面執(zhí)行,取得服務器的配置信息。Exception:僅在錯誤處理頁面17、jsp和servlet
15、的區(qū)別與聯(lián)系:JSP笫一次運行的時候會編譯成Servlet,駐留在內(nèi)存中以供調用JSP是web開發(fā)技術,Servlet是服務器端運用的小程序JSP更多的是進行頁面顯示,Servlet更多的是處理業(yè)務,即JSP是頁面,Servlet是實現(xiàn)JSP方法 開發(fā)界面是JSP時,可以直接編寫: 數(shù)據(jù);而Servlet中則需要這樣寫:out. print In (table數(shù)據(jù)/table);18、final關鍵字的作用(1) final修飾的基本數(shù)據(jù)類型的值不可被改變,final修飾的引用類型的引用 不可變而引用的值還是可以變的(2) final修飾的方法不可被重寫(3) final修飾的類不可被繼承(4
16、) final修飾的基本數(shù)據(jù)類型的形參在方法體內(nèi)不可以被重新賦值,final修 飾的引用類型的形參不可以被賦予一個新的引用數(shù)據(jù)庫方面1、問你怎么同時更新一個表中的兩個字段?(假設表名為A,要更新的字段分 另I為 name、age)update A set name =姚明,age = 35 where id = 10;2、給student添加一個來自classes的外鍵:(這個很容易被我們自己忽視)alter table student add constraint fk_stu_cls foreign key (cid) references classes (cid);3、數(shù)據(jù)庫三范式:屬
17、性唯一、記錄唯一、表唯一4、查詢結果按 tid 排序(降Jf) : select * from test order by tid desc;(默認是按升序的)5、oracle的左外連接Select * from dept d left outer join emp e on d.deptno 二 e. deptnoorder by d. deptno, e. ename;SSH框架1、hibernate和JDBC相比有什么優(yōu)勢?1. 對JDBC訪問數(shù)據(jù)庫的代碼做了封裝,大大簡化了數(shù)據(jù)訪問層繁瑣的重復性 代碼。2. Hibernate是一個基于JDBC的主流持久化框架,是一個優(yōu)秀的0RM實現(xiàn)。
18、他很大程度的簡化DA0層的編碼工作3. hibernate使用Java反射機制,而不是字節(jié)碼增強程序來實現(xiàn)透明性。4. hibernate的性能非常好,因為它是個輕量級框架。映射的靈活性很出 色。它支持各種關系數(shù)據(jù)庫,從一對一到多對多的各種復雜關系。2、為什么要用struts?JSP、Servlet、JavaBean技術的出現(xiàn)給我們構建強大的企業(yè)應用系統(tǒng)提供了 可能。但用這些技術構建的系統(tǒng)非常的繁亂,所以在此之上,我們需要一個規(guī)則、一個把 這些技術組織起來的規(guī)則,這就是框架,Struts便應運而生。3、為什么要用spring?AOP讓開發(fā)人員可以創(chuàng)建非行為性的關注點,稱為橫切關注點,并將它們插
19、入 到應用程序代碼中。使用AOP后,公共服務(比如日志、持久性、事務等)就可以分 解成方面并應用到域對象上,同時不會增加域對象的對象模型的復雜性。IOC允許創(chuàng)建一個可以構造對象的應用環(huán)境,然后向這些對象傳遞它們的協(xié)作 對象。正如單詞倒置所表明的,IOC就像反過來的JNDIo沒有使用一堆抽象工廠、 服務定位器、單元素(singleton)和直接構造(straight construction),每一個對 象都是用其協(xié)作對象構造的。因此是由容器管理協(xié)作對象(collaborator) Spring即使一個AOP框架,也是一 IOC容器。Spring最好的地方是它有助于 您替換對象。有了 Sprin
20、g,只要用JavaBean屬性和配置文件加入依賴性(協(xié)作對 象)。然后可以很容易地在需要時替換具有類似接口的協(xié)作對象。4、什么是MVC模式?有什么作用?MVC全名Model View Controller,即模型-視圖-控制器,是一種非常經(jīng)典的軟 件架構模式。從設計角度看,它將多個設計模式在一種解決方案中結合起來,用來解 決許多設計問題。MVC模式把用戶界面交互分拆到不同的三個角色中,即:(1) 模型:持有所有的數(shù)據(jù)、狀態(tài)和程序邏輯,獨立于視圖和控制器。(2) 視圖:用來呈現(xiàn)模型。視圖通常直接從模型中取得它要顯示的狀態(tài)和數(shù) 據(jù)。對于相同的信息可以有多個不同的顯示形式或視圖。(3) 控制器:位于視圖和模型中間,負責接收用戶的輸入,將輸入進行解析并反 饋給模型,通常有一個模型具有一個控制器。5、hibernate的三種狀態(tài):瞬時狀態(tài)持久狀態(tài)游離狀態(tài)6、C/S和B/S的區(qū)別:優(yōu)點:C/S:占用網(wǎng)速小,對于一些網(wǎng)速比較慢的電腦有明顯的優(yōu)勢。B/S:不需要安裝客戶端,只需要瀏覽器就能打開。缺點:C/S:需要安裝客戶端,有時候需要更新。B./S:對網(wǎng)速的需求大,對于一些網(wǎng)速慢的電腦不適合。7、s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國三相可控硅直流調速裝置數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國HIPS塑膠料數(shù)據(jù)監(jiān)測研究報告
- 勞動合同(20XX年完整版)
- 遺產(chǎn)繼承金融資產(chǎn)管理合同(2篇)
- 采購與分包管理合同(2篇)
- 高等教育自學考試《00074中央銀行概論》模擬試卷三
- 新浪樂居萬達中央旅游城歲末營銷方案
- 《人工智能應用與發(fā)展:高中人工智能學習指南》
- 商業(yè)推廣項目合作協(xié)議書
- 環(huán)保技術研發(fā)與推廣戰(zhàn)略合作協(xié)議
- 中職高教版(2023)語文職業(yè)模塊-第一單元1.2寧夏閩寧鎮(zhèn):昔日干沙灘今日金沙灘【課件】
- 2025年春季1530安全教育記錄主題
- 基本藥物制度政策培訓課件
- 《無人機測繪技術》項目1任務3無人機測繪基礎知識
- (市級)數(shù)學活動:人教七下第5章《探究平行線的多種畫法》教學設計(張佳琦-三門峽靈寶二中)
- 絕句遲日江山麗
- 船體開孔規(guī)則
- (精選)沸騰焙燒爐設計相關計算
- 多元化與專業(yè)化的利弊之爭
- ASMEB16.14-1991中文版鋼鐵管螺紋管堵、內(nèi)外螺絲和鎖緊螺母
- 《雕塑工程工程量清單計價定額》
評論
0/150
提交評論