freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java軟件開發(fā)工程師面試題集(編輯修改稿)

2024-11-19 08:42 本頁面
 

【文章內(nèi)容簡介】 有一個(gè) return 語句,那么緊跟在這個(gè) try 后的 finally {}里的 code 會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在 return 前還是后 ? 會(huì)執(zhí)行,在 return 前執(zhí)行。 4編程題 : 用最有效率的方法算出 2 乘以 8 等於幾 ? 2 3 4兩個(gè)對象值相同 ((y) == true),但卻可有不同的 hash code,這句話對不對 ? 不對,有相同的 hash code。 4當(dāng)一個(gè)對象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞 ? 是值傳遞。 Java 編程語言只有值傳遞參數(shù)。當(dāng)一個(gè)對象實(shí)例作為一個(gè)參數(shù)被傳遞到方法中時(shí),參數(shù)的值就是對該對象的引用。對象的內(nèi)容可以在被調(diào)用的方法中 改變,但對象的引用是永遠(yuǎn)不會(huì)改變的。 4當(dāng)一個(gè)線程進(jìn)入一個(gè)對象的一個(gè) synchronized 方法后,其它線程是否可進(jìn)入此對象的其它方法 ? 不能,一個(gè)對象的一個(gè) synchronized 方法只能由一個(gè)線程訪問。 4編程題 : 寫一個(gè) Singleton 出來。 Singleton 模式主要作用是保證在 Java 應(yīng)用程序中,一個(gè)類 Class 只有一個(gè)實(shí)例存在。 一般 Singleton 模式通常有幾種種形式 : 第一種形式 : 定義一個(gè)類,它的構(gòu)造函數(shù)為 private 的,它有一個(gè) static 的 private 的該類 變量,在類初始化時(shí)實(shí)例話,通過一個(gè) public 的 getInstance 方法獲取對它的引用 ,繼而調(diào)用其中的方法。 public class Singleton { private Singleton(){} //在自己內(nèi)部定義自己一個(gè)實(shí)例,是不是很奇怪? //注意這是 private 只供內(nèi)部調(diào)用 private static Singleton instance = new Singleton()。 //這里提供了一個(gè)供外部訪問本 class 的靜態(tài)方法 ,可以直接訪問 public static Singleton getInstance() { return instance。 } } 第二種形式 : public class Singleton { private static Singleton instance = null。 public static synchronized Singleton getInstance() { //這個(gè)方法比上 面有所改進(jìn),不用每次都進(jìn)行生成對象,只是第一次 //使用時(shí)生成實(shí)例,提高了效率! if (instance==null) instance= new Singleton()。 return instance。 } } 其他形式 : 定義一個(gè)類,它的構(gòu)造函數(shù)為 private 的,所有方法為 static 的。 一般認(rèn)為第一種形式要更加安全些 4 Java 的接口和 C++的虛類的相同和不同處。 由于 Java 不支持多繼承,而有可能某個(gè)類或?qū)ο笠褂梅謩e在幾個(gè)類或?qū)ο罄锩?的方法或?qū)傩?,現(xiàn)有的單繼承機(jī)制就不能滿足要求。與繼承相比,接口有更高的靈活性,因?yàn)榻涌谥袥]有任何實(shí)現(xiàn)代碼。當(dāng)一個(gè)類實(shí)現(xiàn)了接口以后,該類要實(shí)現(xiàn)接口里面所有的方法和屬性,并且接口里面的屬性在默認(rèn)狀態(tài)下面都是 public static,所有方法默認(rèn)情況下是 以實(shí)現(xiàn)多個(gè)接口。 50、 Java 中的異常處理機(jī)制的簡單原理和應(yīng)用。 當(dāng) JAVA 程序違反了 JAVA的語義規(guī)則時(shí), JAVA虛擬機(jī)就會(huì)將發(fā)生的錯(cuò)誤表示為一個(gè)異常。違反語義規(guī)則包括 2 種情況。一種是 JAVA類庫內(nèi)置的語義檢查。例如數(shù)組下標(biāo)越界 ,會(huì) 引發(fā)IndexOutOfBoundsException。訪問 null 的對象時(shí)會(huì)引發(fā) NullPointerException。另一種情況就是 JAVA 允許程序員擴(kuò)展這種語義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時(shí)用throw 關(guān)鍵字引發(fā)異常。所有的異常都是 的子類。 5垃圾回收的優(yōu)點(diǎn)和原理。并考慮 2 種回收機(jī)制。 Java 語言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使 c++程序員最頭疼的內(nèi)存管理的問題迎刃而解,它使得 Java 程序員在編寫程序的時(shí)候不再需要考慮內(nèi)存管理 。由于有個(gè)垃圾回收機(jī)制, Java 中的對象不再有 作用域 的概念,只有對象的引用才有 作用域 。垃圾回收可以有效的防止內(nèi)存泄露,有效的使用可以使用的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低級別的線程運(yùn)行,不可預(yù)知的情況下對內(nèi)存堆中已經(jīng)死亡的或者長時(shí)間沒有使用的對象進(jìn)行清楚和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對某個(gè)對象或所有對象進(jìn)行垃圾回收?;厥諜C(jī)制有分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。 5請說出你所知道的線程同步的方法。 wait():使一個(gè)線程處于等待狀態(tài),并且釋放所持有的對象的 lock。 sleep():使一個(gè)正在運(yùn)行的線程處于睡眠狀態(tài),是一個(gè)靜態(tài)方法,調(diào)用此方法要捕捉InterruptedException 異常。 notify():喚醒一個(gè)處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時(shí)候,并不能確切的喚醒某一個(gè)等待狀態(tài)的線程,而是由 JVM 確定喚醒哪個(gè)線程,而且不是按優(yōu)先級。 Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個(gè)對象的鎖,而是讓它們競爭。 5你所知道的集合類都有哪些?主要方法? 最常用的集合類是 List 和 Map。 List 的具 體實(shí)現(xiàn)包括 ArrayList 和 Vector,它們是可變大小的列表,比較適合構(gòu)建、存儲(chǔ)和操作任何類型對象的元素列表。 List 適用于按數(shù)值索引訪問元素的情形。 Map 提供了一個(gè)更通用的元素存儲(chǔ)方法。 Map 集合類用于存儲(chǔ)元素對(稱作 鍵 和 值 ),其中每個(gè)鍵映射到一個(gè)值。 5描述一下 JVM 加載 class 文件的原理機(jī)制 ? JVM 中類的裝載是由 ClassLoader 和它的子類來實(shí)現(xiàn)的 ,Java ClassLoader 是一個(gè)重要的 Java運(yùn)行時(shí)系統(tǒng)組件。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類文件的類 。 5 char 型變量中能不能存貯一個(gè)中文漢字 ?為什么 ? 能夠定義成為一個(gè)中文的,因?yàn)?java 中以 unicode 編碼,一個(gè) char 占 16 個(gè)字節(jié),所以放一個(gè)中文是沒問題的 5多線程有幾種實(shí)現(xiàn)方法 ,都是什么 ?同步有幾種實(shí)現(xiàn)方法 ,都是什么 ? 多線程有兩種實(shí)現(xiàn)方法,分別是繼承 Thread 類與實(shí)現(xiàn) Runnable 接口 同步的實(shí)現(xiàn)方面有兩種,分別是 synchronized,wait 與 notify 5 JSP 的內(nèi)置對象及方法。 request 表示 HttpServletRequest 對象。它包含 了有關(guān)瀏覽器請求的信息,并且提供了幾個(gè)用于獲取 cookie, header, 和 session 數(shù)據(jù)的有用的方法。 response 表示 HttpServletResponse 對象,并提供了幾個(gè)用于設(shè)置送回瀏覽器的響應(yīng)的方法(如 cookies,頭信息等) out 對象是 的一個(gè)實(shí)例,并提供了幾個(gè)方法使你能用于向?yàn)g覽器回送輸出結(jié)果。 pageContext 表示一個(gè) 對象。它是用于方便存取各 種范圍的名字空間、 servlet 相關(guān)的對象的 API,并且包裝了通用的 servlet 相關(guān)功能的方法。 session 表示一個(gè)請求的 對象。 Session 可以存貯用戶的狀態(tài)信息 applicaton 表示一個(gè) 對象。這有助于查找有關(guān) servlet 引擎和servlet 環(huán)境的信息 config 表示一個(gè) 對象。該對象用于存 取 servlet 實(shí)例的初始化參數(shù)。 page 表示從該頁面產(chǎn)生的一個(gè) servlet 實(shí)例 5線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系 線程指在程序執(zhí)行過程中,能夠執(zhí)行程序代碼的一個(gè)執(zhí)行單位,每個(gè)程序至少都有一個(gè)線程,也就是程序本身。 Java 中的線程有四種狀態(tài)分別是:運(yùn)行、就緒、掛起、結(jié)束。 5 JSP 的常用指令 isErrorPage(是否能使用 Exception 對象 ), isELIgnored(是否忽略表達(dá)式 ) target=_blank 60、什么情況下調(diào)用 doGet()和 doPost()? Jsp 頁面中的 form 標(biāo)簽里的 method 屬性為 get 時(shí)調(diào)用 doGet(),為 post 時(shí)調(diào)用 doPost()。 6 servlet 的生命周期 web 容器加載 servlet,生命周期開始。通過調(diào)用 servlet 的 init()方法進(jìn)行 servlet 的初始化。通過調(diào)用 service()方法實(shí)現(xiàn),根據(jù)請求的不同調(diào)用不同的 do***()方法。結(jié)束服務(wù), web 容器調(diào)用 servlet 的 destroy()方法。 6如何現(xiàn)實(shí) servlet 的單 線程模式 %@ page isThreadSafe=false% 6頁面間對象傳遞的方法 request, session, application, cookie 等 6 JSP 和 Servlet 有哪些相同點(diǎn)和不同點(diǎn),他們之間的聯(lián)系是什么? JSP 是 Servlet 技術(shù)的擴(kuò)展,本質(zhì)上是 Servlet 的簡易方式,更強(qiáng)調(diào)應(yīng)用的外表表達(dá)。 JSP 編譯后是 類 servlet。 Servlet 和 JSP 最主要的不同點(diǎn)在于, Servlet 的應(yīng)用邏輯是在 Java 文件中,并且完全從表示層中的 HTML 里分離開來。 而 JSP 的情況是 Java 和 HTML 可以組合成一個(gè)擴(kuò)展名為 .jsp 的文件。 JSP 側(cè)重于視圖, Servlet 主要用于控制邏輯。 6四種會(huì)話跟蹤技術(shù) 會(huì)話作用域 ServletsJSP 頁面描述 page 否是代表與一個(gè)頁面相關(guān)的對象和屬性。一個(gè)頁面由一個(gè)編譯好的 Java servlet 類(可以帶有任何的 include 指令,但是沒有 include 動(dòng)作)表示。這既包括 servlet 又包括被編譯成 servlet 的 JSP 頁面 request 是是代表與 Web 客戶機(jī)發(fā)出的一個(gè)請求相關(guān)的對 象和屬性。一個(gè)請求可能跨越多個(gè)頁面,涉及多個(gè) Web 組件(由于 forward 指令和 include 動(dòng)作的關(guān)系) session 是是代表與用于某個(gè) Web 客戶機(jī)的一個(gè)用戶體驗(yàn)相關(guān)的對象和屬性。一個(gè) Web 會(huì)話可以也經(jīng)常會(huì)跨越多個(gè)客戶機(jī)請求 application 是是代表與整個(gè) Web 應(yīng)用程序相關(guān)的對象和屬性。這實(shí)質(zhì)上是跨越整個(gè) Web 應(yīng)用程序,包括多個(gè)頁面、請求和會(huì)話的一個(gè)全局作用域 6 Request 對象的主要方法: setAttribute(String name,Object):設(shè)置名字為 name 的 request 的參數(shù)值 getAttribute(String name):返回由 name 指定的屬性值 getAttributeNames():返回 request 對象所有屬性的名字集合,結(jié)果是一個(gè)枚舉的實(shí)例 getCookies():返回客戶端的所有 Cookie 對象,結(jié)果是一個(gè) Cookie 數(shù)組 getCharacterEncoding():返回請求中的字符編碼方式 getContentLength():返回請求的 Body 的長度 getHeader(String name): 獲得 HTTP 協(xié)議定義的文件頭信息 getHeaders(String name):返回指定名字的 request Header 的所有值,結(jié)果是一個(gè)枚舉的實(shí)例 getHeaderNames():返回所以 request Header 的名字,結(jié)果是一個(gè)枚舉的實(shí)例 getInputStream():返回請求的輸入流,用于獲得請求中的數(shù)據(jù) getMethod():獲得客戶端向服務(wù)器端傳送數(shù)據(jù)的方法 getParameter(String name):獲得客戶端傳送給服務(wù)器端的有 name 指定的參數(shù)值 getParameterNames():獲得客戶端傳送給服務(wù)器端的所有參數(shù)的名字,結(jié)果是一個(gè)枚舉的實(shí)例 getParameterValues(String name):獲得有 name 指
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1