亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

百度Java研發面經100題 總結

2019-11-15 00:55:48
字體:
來源:轉載
供稿:網友
百度java研發面經100題 總結

1. 單例模式常見的應用場景分析?! ?/p>

  在23種設計模式中,單例模式排行老大。雖然理解簡單,但是對于應用場景。你真正的熟悉么?使用單例,是由于沒必要每個請求都新建一個對象,這樣既浪費CPU又浪費內存;之所以用多例,是為了防止并發問題;即一個請求改變了對象的狀態,此時對象又處理另一個請求,而之前請求對對象狀態的改變導致了對象對另一個請求做了錯誤的處理。

  先來說說Java web中的單例應用場景:數據庫連接池就是單例模式,有且僅有一個連接池管理者,管理多個連接池對象。我們常用的service和dao層的對象通常都是單例的(由于其所有的請求都用一個對象來處理),而struts2中的action則是多例,由于每個請求是用一個新的對象來處理的(因為action本身含有請求參數的值,即可改變的狀態)。 log4j日志記錄也是單例模式,因為從始至終都僅維護一個對象。(應用程序的日志應用,一般都何用單例模式實現,這一般是由于共享的日志文件一直處于打開狀態,因為只能有一個實例去操作,否則內容不好追加)。

2. 什么是平衡二叉樹。

  它或者是一顆空樹,或者具有以下性質的二叉樹:它的左子樹和右子樹的深度之差的絕對值不超過1,且它的左子樹和右子樹都是一顆平衡二叉樹。

3. 什么是紅黑樹。

  紅黑樹是特殊的平衡二叉樹。遵循紅定理和黑定理。紅定理:在一條路徑上不能出現兩個相連的紅節點;黑定理:根節點必須是黑節點,而且所有節點通向樹的尾端的路徑上,所含的黑節點的個數必須相等。

4. 什么是B樹。(二叉搜索樹)

  所有節點存儲一個關鍵字;非葉子結點的左指針指向小于其關鍵字的子樹,右指針指向大于其關鍵字的子樹;所有非葉子節點最多擁有兩個兒子。

5. 什么是B-樹。(多路搜索樹)

  根節點兒子樹[2,m];非根節點非葉子節點的兒子樹[m/2,m];每個節點的關鍵字數為[m/2-1,m-1]。

6. 什么是B+樹。

  B+樹是B-樹的變體;在B-樹的定義之上,補充定義有:所有關鍵字都在葉子節點出現;所有葉子節點增加一個鏈指針;非葉子節點的子樹與關鍵字個數相同?! ?/p>

  總結:平衡二叉樹是一種二叉搜索樹。其可以保證在log2(n)的時間內找到節點,而普通的二叉搜索樹在最壞情況下性能近似與鏈表,所用時間為log(n)。紅黑樹用在內部排序,即全放在內存中的,微軟STL的map和set的內部實現就是紅黑樹。B樹多用在內存里放不下,大部分數據存儲在外存上時。因為B樹層數少,因此可以確保每次操作,讀取磁盤的次數盡可能的少。在數據較小,可以完全放到內存中時,紅黑樹的時間復雜度比B樹低。反之,數據量較大,外存中占主要部分時,B樹因其讀磁盤次數少,而具有更快的速度。    

  補充紅黑樹的由來:在查找中,雖然hash表查找非常迅速,但是隨著數據的種類增多,hash表長會變得更長,且沖突也會越來越多,那么如何才能實現無論在多大數據量的情況下,查找依然是高性能的呢?同時我們又知道樹是很好的一種數據結構,那用于插入,刪除,查找等都是很高效的數據樹構,但問題是在很壞的情況下,操作很費時間,它的性能得到不保證,比如二叉查找樹中如果左子樹與右子樹相差太遠,那么查找時就很費時間。這時為了保證其有高效性,就得保證左樹與右樹不能差得太遠,當向樹中插入時,就按一定規則調整,使其達到規則,從而使其整體與局部查找效率得到提高。這就是紅黑樹的規則。

7. final finally finalize三者的區別。

  finalize是一個方法,而且它是Object類中的一個方法。當垃圾收集器在確定這個對象沒有被引用時調用對象的finalize方法。它的作用是為GC清理對象之前做一些必要的清理工作(如輸入/輸出連接的對象的 finalize 方法可執行顯式 I/O 事務,以便在永久丟棄對象之前中斷連接)。

  finally用在try,catch異常機制中,不管什么情況都會執行。

  final修飾類,表示不可被繼承;修飾基本數據類型,即常量不可變;修飾引用類型,指向的對象內容可變,對象不可變。

8. Error Exception RuntimeException

  異常機制的繼承結構首先,基類為Throwable;Error和Exception繼承Throwable;RuntimeException和IOException等繼承Exception(即具體的RuntimeException繼承RuntimeException).

  Error描述了內部錯誤以及資源耗盡的情形。應用程序不應該拋出這種類型的對象(一般是由虛擬機拋出)。程序級別不能處理。

  Exception則包括RuntimeException和其他非RuntimeException的。RuntimeException包括錯誤的類型轉換、數組越界訪問和試圖訪問空指針等等。處理RuntimeException的原則是:如果出現RuntimeException,那么一定是程序員的錯誤。例如,可以通過檢查數組下標和數組邊界來避免數組越界訪問異常。非RuntimeException(IOException等等):這類異常一般是外部錯誤,例如試圖從文件尾后讀取數據等,這并不是程序本身的錯誤,而是在應用環境中出現的外部錯誤?! ?/p>

  總結:比如5/0就是runtimeException異常,這樣的異??梢栽诔绦蚶锊蛔鎏幚?,不會報錯,運行時才會報異常。非runtimeException異常就是在程序里就要進行trycatch的,不進行處理就會報錯。

9. 區別TCP UDP HTTP HTTPS SFTP FTP

  TCP可靠連接,三次握手,四次揮手。

  UDP不可靠連接。

  HTTPS是SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議。要比HTTP協議安全。它使用SSL即是安全套接字層(SSL)進行信息交換。HTTP需要申請證書,是收費的。

  FTP是文件傳輸協議。在網站上,如果你想把文件和人共享,最便捷的方式莫過于把文件上傳到FTP服務器上,其他人通過FTP客戶端程序來下載所需要的文件。FTP進行文件傳輸需要通過端口進行。一般所需端口為:控制鏈路—TCP端口21??刂破鞫?。用于發送指令給服務器以及等待服務器響應。數據鏈路---TCP端口20。數據傳輸端口。用來建立數據傳輸通道的。主要用來從客戶向服務器發送一個文件、從服務器向客戶發送一個文件、從服務器向客戶發送文件或目錄列表。FTP為了適應不同的網絡環境,支持主動連接和被動連接兩種模式。這兩種模式都主要針對數據鏈路進行的,跟控制鏈路無關。SFTP是Secure File Transfer PRotocol的縮寫,是安全文件傳送協議??梢詾閭鬏斘募峁┮环N安全的加密方法。跟ftp幾乎語法功能一樣。SFTP是SSH的一部分,是一種傳輸檔案至Blogger伺服器的安全方式。它本身沒有單獨的守護進程,必須使用sshd守護進程來完成相應的連接操作,所以從某種意義上來說,SFTP并不像一個服務器程序,而更像是一個客戶端程序。SFTP同樣是使用加密傳輸認證信息和傳輸的數據,所以使用SFTP是十分安全的。但由于這種傳輸方式使用了加密/解密技術,所以傳輸效率比普通的FTP要低得多。在對網絡安全性要求更時,代替FTP使用。

  SSL和SSH區別,SSH是secure shell,即安全外殼協議,它隸屬于傳輸層的協議。它對傳輸的數據進行加密,同時對傳輸的數據進行壓縮。SSL是secure sockets layer即安全套接層。

 ?。═CP/ip協議包括:物理層、數據鏈路層、網絡層、傳輸層、應用層)

 ?。∣SI七層:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層)

10.Java線程池安全如何保證。

11. Java的參數傳遞中,值傳遞和引用傳遞區別。

public class Example {   String str = new String("good");   char[] ch = {'a','b','c'};   public static void main(String[] args) {      Example ex = new Example();      ex.change(ex.str, ex.ch);      System.out.print(ex.str +"and");      System.out.print(ex.ch);    }    public void change(String str, char ch[]){      str= "test ok";      ch[0]= 'g';   } } // 輸出 goodandgbc   Java中確實是傳值,而不是傳引用// 原因:str="test ok" 修改的是局部變量str,而不是類的成員變量str。類的成員變量并沒有被修改。這個效果是,在change方法中定義了跟全局變量一樣的變量名,被當做局部變量來處理。char ch[]傳遞的是地址,

  值傳遞的時候,傳遞的參數是值的拷貝傳遞,傳遞動作完成以后就毫無瓜葛了。引用傳遞,傳遞的參數是引用的地址。也就是變量所對應的內存空間的地址。這兩者的區分類比當初C語言中的,用函數方法交換兩個數的值。

int i = 0;i = i++;//輸出 i的值是0; 順序應該是:先計算表達式的值,得0,然后i加1,此時i=1,最后賦值,賦值是把表達式的值賦值,所以,i又變成0了.

12. 服務器網絡編程中,解決回話跟蹤有哪幾種方法?

  Cookie; session; URL重寫;

   cookie在J2EE項目中的使用,Java中把Cookie封裝成了java.servlet.http.Cookie類。每個Cookie都是該Cookie類的對象。服務器通過操作Cookie類對象,對客戶端Cookie進行操作。通過request.getCookies()獲取客戶端提交的所有Cookie(以Cookie[]數組形式返回),通過response.addCookie(Cookiecookie)向客戶端設置Cookie。Cookie對象使用key-value屬性對的形式保存用戶狀態,一個Cookie對象保存一個屬性對,一個request或者response同時使用多個Cookie。cookie的不可跨域名性和cookie的有效期。

// 服務器端獲取cookieCookie[]cookies = request.getCookies();for (int i = 0; cookies != null && i < cookies.length;i++) {         Cookiecookie = cookies[i];         if("username".equals(cookie.getName())) {         }      }//服務器端設置cookie

String username = "sa";

Cookie usernameCookie = new Cookie("username", username);

response.addCookie(usernameCookie);

  Session是服務器端使用的一種記錄客戶端狀態的機制,使用上比Cookie簡單一些,相應的也增加了服務器的存儲壓力。Session是另一種記錄客戶端狀態的機制,不同的是Cookie保存在客戶端瀏覽器中,而Session保存在服務器上??蛻舳藶g覽器訪問服務器的時候,服務器把客戶端信息以某種形式記錄在服務器上。這就是Session??蛻舳藶g覽器再次訪問時只需要從該Session中查詢該客戶的狀態就可以了。如果說Cookie機制是通過檢查客戶身上的“通行證”來確定客戶身份的話,那么Session機制就是通過檢查服務器上的“客戶明細表”來確認客戶身份。Session相當于程序在服務器上建立的一份客戶檔案,客戶來訪的時候只需要查詢客戶檔案表就可以了。Session保存在服務器端。為了獲得更高的存取速度,服務器一般把Session放在內存里。每個用戶都會有一個獨立的Session。如果Session內容過于復雜,當大量客戶訪問服務器時可能會導致內存溢出。因此,Session里的信息應該盡量精簡。Session在用戶第一次訪問服務器的時候自動創建。需要注意的是,只有訪問jsp、Servlet等程序時才會創建Session,只訪問HTML、IMAGE等靜態資源并不會創建Session。如果尚未生成Session,也可以使用request.getSession(true)強制生成Session。Session生成后,只要用戶繼續訪問,服務器就會更新Session的最后訪問時間,并維護該Session。用戶每訪問服務器一次,無論是否讀寫Session,服務器都認為該用戶的Session“活躍(active)”了一次。

//  服務器端獲取session    HttpSessionsession = request.getSession();    Stringusername = (String)session.getAttribute("username");// 服務器端設置session    HttpSessionsession = request.getSession();    session.setAttribute("username","sa");

13. Java中正則表達式的學習。

1.  邏輯運算符:X|Y表示X或者Y; (abc)|(xyz)表示abc或者xyz。 邊界匹配符:^表示從頭匹配; 2.  句點符號“.”來匹配所有字符。3.  方括號符號,為了解決句點符號匹配范圍過于廣泛這一問題,你可以在方括號(“[]”)里面指定看來有意義的字符。但在方括號之內你只能匹配單個字符。4.  或符號即“|”操作符。“|”操作符的基本意義就是“或”運算。要匹配 “toon”,使用“t(a|e|i|o|oo)n”正則表達式。這里不能使用方擴號,因為方括號只允許匹配單個字符;這里必須使用圓括號“()”。圓括號還可以用來分組。5.  否符號,即“^”符號。如果用在方括號內,“^”表示不想要匹配的字符。用在外面表示以之為開頭。6.  表示次數的符號, ?表示零次或者一次; *表示零次或者多次; +表示一次或者多次; {n}表示恰好n次。7.  轉義字符 “/” ,表示符號是本意。8.  實例如下:1. 號碼格式:999-99-9999.  正則表達式如下:[0-9]{3}/-[0-9]{2}/-[0-9]{4}2. 同樣的號碼格式:999-99-9999和999999999都是正確的號碼  正則表達式如下:[0-9]{3}/-?[0-9]{2}/-?[0-9]{4}3. 匹配汽車牌照四個數字和兩個字母,則它的正則表達式如下:[0-9]{4}[A-Z]{2}4. 只能輸入數字:^[0-9]*$   //^是開頭,$是結尾.  

14.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品自拍偷拍| 国产精品专区h在线观看| 一区二区亚洲欧洲国产日韩| 欧美精品在线网站| 久久久亚洲天堂| 欧美大秀在线观看| 国外成人在线直播| 高清欧美性猛交| 北条麻妃一区二区三区中文字幕| 91久久久久久久一区二区| 亚洲人成毛片在线播放| 亚洲高清久久久久久| 26uuu另类亚洲欧美日本老年| 国产国语刺激对白av不卡| 久久天天躁日日躁| 国语对白做受69| 欧美一区二区影院| 亚洲成人中文字幕| 精品久久香蕉国产线看观看亚洲| 亚洲精品国产精品国自产观看浪潮| 亚洲老头老太hd| 国模gogo一区二区大胆私拍| 久久久精品日本| 国产精品永久免费在线| 一区二区三区视频免费在线观看| 亚洲综合小说区| 国产亚洲精品成人av久久ww| 欧美视频在线视频| 在线播放日韩专区| 国产噜噜噜噜久久久久久久久| 精品国产电影一区| 欧美日韩激情美女| 国产视频综合在线| 国产成人精品亚洲精品| 国产色视频一区| 精品国产电影一区| 欧美黑人狂野猛交老妇| 97国产在线视频| 精品亚洲aⅴ在线观看| 色一情一乱一区二区| 亚洲无限av看| 欧美精品18videos性欧| 在线看片第一页欧美| 久久免费视频观看| 亚洲欧美日韩成人| 国产精品美女久久| 亚洲欧美一区二区三区在线| 国产视频精品xxxx| 亚洲第一精品夜夜躁人人爽| 91日本视频在线| 青青草成人在线| 另类色图亚洲色图| 亚洲一级黄色av| 亚洲精品在线看| 日韩在线视频网| 亚洲人成欧美中文字幕| 成人免费视频网址| 欧美床上激情在线观看| 日韩大片在线观看视频| 日本老师69xxx| 亚洲国产欧美一区二区三区同亚洲| 日韩美女激情视频| 国产亚洲人成a一在线v站| 国内精品模特av私拍在线观看| 久久久www成人免费精品| 亚洲第一av网站| 色哟哟入口国产精品| 欧美成人剧情片在线观看| 日韩电视剧免费观看网站| 欧洲成人性视频| 一区二区三区视频免费在线观看| 亚洲欧美第一页| 亚洲精品在线观看www| 日韩欧美中文第一页| 97在线视频免费看| 国产精品久久久久高潮| 亚洲精品suv精品一区二区| 国产精品亚洲一区二区三区| 欧美黄网免费在线观看| 在线不卡国产精品| 亚洲精品91美女久久久久久久| 久久青草精品视频免费观看| 91成人在线视频| 日韩av影片在线观看| 97久久伊人激情网| 26uuu另类亚洲欧美日本一| 日韩av免费观影| 韩国福利视频一区| 97成人精品区在线播放| 欧美午夜片在线免费观看| 久久久国产视频91| 久久久国产精品x99av| 中文国产成人精品| 久久视频在线直播| 91产国在线观看动作片喷水| 国产精品久久久久久亚洲影视| 亚洲精品一区二区三区婷婷月| 亚洲网站在线观看| 亚洲欧美日韩久久久久久| 国产精品激情av电影在线观看| 51久久精品夜色国产麻豆| 欧美日韩加勒比精品一区| 91久久久久久国产精品| 久久久精品中文字幕| 亚洲国产一区二区三区四区| 国产精品免费福利| xx视频.9999.com| 国产精品av网站| 亚洲深夜福利视频| 超碰日本道色综合久久综合| 亚洲精品ady| 亚洲色图偷窥自拍| 国产99在线|中文| 欧美精品情趣视频| 成人国产精品免费视频| 国产精品久久av| 国产精品高潮呻吟久久av野狼| 国产精品夜间视频香蕉| 视频在线一区二区| 欧美激情中文字幕乱码免费| 久久精品国产亚洲精品| 欧美亚洲一区在线| 成人精品视频在线| 精品久久久中文| 亚洲精品永久免费精品| 久久91超碰青草是什么| 97超级碰碰碰久久久| 91产国在线观看动作片喷水| 欧美成人性生活| 亚洲精品久久久久中文字幕二区| 日韩美女视频在线观看| 国产在线观看不卡| 欧美成年人网站| 国产精品999| 国产精品吹潮在线观看| 91色p视频在线| 日韩美女激情视频| 国产亚洲一区二区在线| 久久69精品久久久久久国产越南| 亚洲精品久久久久久久久久久久| 亚洲自拍偷拍色片视频| 欧美日韩亚洲91| 久热在线中文字幕色999舞| 国语自产在线不卡| 国产婷婷成人久久av免费高清| 亚洲国产精品中文| 日韩在线观看成人| 亚洲免费视频网站| 欧美在线免费观看| 久久国产精品99国产精| 91免费观看网站| 热99在线视频| 亚洲日韩中文字幕在线播放| 亚洲欧美日韩在线高清直播| 欧美成人手机在线| 亚洲国产成人精品久久久国产成人一区| 国产91免费观看| 久久影院在线观看| 欧美精品一区二区三区国产精品| 国产精品99久久久久久白浆小说| 久久久久国色av免费观看性色| 国产精品高清免费在线观看| 色妞一区二区三区| 国产欧美一区二区|