31.中間件是一種獨立的系統軟件或服務程序,分佈式應用軟件藉助這種軟件在不一樣的技術之間共享資源。中間件位於客戶機/ 服務器的操做系統之上,管理計算機資源和網絡通信。是鏈接兩個獨立應用程序或獨立系統的軟件。相鏈接的系統,即便它們具備不一樣的接口,但經過中間件相互之間仍能交換信息。執行中間件的一個關鍵途徑是信息傳遞。經過中間件,應用程序能夠工做於多平臺或OS環境。sql
(簡單來講,中間件並不能提升內核的效率,通常只是負責網絡信息的分發處理)數據庫
32.(1)無論有沒有異常拋出,finally{}代碼塊比return先執行編程
(2)多個return是按順序執行的,多個return執行一個後,後面的return就不會執行了。安全
33.(1).啓動一個線程的方法是 start()服務器
(2).結束線程用的是interrupt()方法,而stop()是強制結束線程,並不推薦使用,同時stop()方法已被棄用網絡
(3).daemon線程是守護線程,當主線程結束時,守護線程會自動結束session
(4).一個線程等待另一個線程的方法是wait()方法分佈式
34.模塊化
35.AOP的概念是Aspected Oriented Programming 面向方面編程。工具
好處:AOP將程序分解成各個方面或者說關注點。這使得能夠模塊化,至關橫向上分切了。它能夠解決OOP和過程化方法不可以很好解決的橫切(crosscut)問題,如:事務、安全、日誌等橫切關注
實現AOP有幾種方式:
(1). Spring 1.2版本中經過ProxyFactoryBean來實現aop,即經過動態代理來實現的,Aspect必須繼承MethodBeforeAdvice,MethodAfterAdvice等
(2). Spring 2.0 AOP須要改的是FBI 這個類,並且它也不須要再實現某些接口
(3). 三使用標註(@AspectJ)實現AOP
36.Ant和Maven都是基於Java的構建(build)工具。理論上來講,有些相似於(Unix)C中的make ,但沒有make的缺陷。Ant是軟件構建工具,Maven的定位是軟件項目管理和理解工具。
Ant特色:
沒有一個約定的目錄結構 ›必須明確讓ant作什麼,何時作,而後編譯,打包 ›沒有生命週期,必須定義目標及其實現的任務序列 ›沒有集成依賴管理
Maven特色:
擁有約定,知道你的代碼在哪裏,放到哪裏去 ›擁有一個生命週期,例如執行 mvn install 就能夠自動執行編譯,測試,打包等構建過程 ›只須要定義一個pom.xml,而後把源碼放到默認的目錄,Maven幫你處理其餘事情 ›擁有依賴管理,倉庫管理。
37.hibernate延遲加載:
load方法來獲得一個對象時,此時hibernate會使用延遲加載的機制來加載這個對象,即:當 咱們使用session.load()方法來加載一個對象時,此時並不會發出sql語句,當前獲得的這個對象實際上是一個代理對象,這個代理對象只保存了實 體對象的id值,只有當咱們要使用這個對象,獲得其它屬性時,這個時候纔會發出sql語句,從數據庫中去查詢咱們的對象。
相對於load的延遲加載方式,get就直接的多,當咱們使用session.get()方法來獲得一個對象時,無論咱們使不使用這個對象,此時都會發出sql語句去從數據庫中查詢出來。
38.計算機中以補碼存儲。
正數的原碼/反碼/補碼相同,因此
10存儲爲00000000 00000000 00000000 00001010
~10的原碼爲11111111 11111111 11111111 11110101(10取反)
~10的反碼爲10000000 00000000 00000000 00001010(最高位符號位,不變,其他位取反)
~10的補碼爲10000000 00000000 00000000 00001011(負數的補碼=反碼+1)
因此~10 = -11
39.要注意的是 switch結構中沒有break的話,匹配完不會跳出,會繼續匹配下一個case直到整個結構結束。
40.Servlet的生命週期通常能夠用三個方法來表示:
init():僅執行一次,負責在裝載Servlet時初始化Servlet對象
service() :核心方法,通常HttpServlet中會有get,post兩種處理方式。在調用doGet和doPost方法時會構造servletRequest和servletResponse請求和響應對象做爲參數。
destory():在中止而且卸載Servlet時執行,負責釋放資源
初始化階段:Servlet啓動,會讀取配置文件中的信息,構造指定的Servlet對象,建立ServletConfig對象,將ServletConfig做爲參數來調用init()方法。