Java面試中常問的基礎問題

      HTML(Hyper Text Markup Language)
 
     超文本標記語言, 標準通用標記語言下的一個應用,也是一種規範,一種標準,它經過標記符號來標記要顯示的網頁中各個部分
  超文本 就是指頁面內能夠包含圖片、 連接,甚至音樂、 程序等非文字元素
     超文本標記語言的結構包括 頭」部分(Head)、和「主體」部分(Body),其中「頭」部分提供關於網頁的信息 ,「主體」部分提供網頁的具體內容
     特色:1.簡單性
                2.可擴展性
                3.平臺無關性
                4.通用性
 
     JavaScript
     
     直譯式腳本語言,是一種動態類型、弱類型、基於原型和普遍用於客戶端的語言
     組成部分:1.ECMAScript,描述了該語言的語法和對象
                        2.文本對象模型(DOM),描述 處理網頁內容的方法和接口
                        3.瀏覽器對象模型(BOM),描述與瀏覽器進行交互的方法和接
     基本特色:1.是一種解釋性腳本語言(代碼不進行預編譯)
                        2.主要用來向HTML頁面添加交互行
                        3.能夠直接嵌入HTML頁面,也可寫成單獨的js文件有利於結構和行爲的分離
                        4.跨平臺性
     平常用途:1.嵌入動態文本於HTML頁面
                        2.對瀏覽器事件作出響應
                        3.檢測訪客的瀏覽器信息
     特性:1.腳本語言
                 2.基於對象
                 3.簡單
                 4.動態性
                 5.跨平臺性
 
     JQuery
 
     JQuery是一個快速、簡潔的JavaScript框架,JQuery倡導寫更少的代碼,作更多的事情。它封裝JavaScript經常使用的功能代碼,提供一種簡便的JavaScript設計模式
     優化HTML文檔操做、事件處理、動畫設計和AJAX交互
     語言特色:1.快速獲取文檔元素
                      2.提供漂亮的頁面動態效果
                      3.建立AJAX無刷新網頁
                      4.提供JavaScript語言的加強
                      5.加強的事件處理
                      6.更改網頁內容
 
      XML( Extensible Markup Language)
 
     可擴展性標記語言,標準通用標記語言的子集,是一種用於標記電子文件使其具備結構性的標記語言
     它不是超文本標記語言的替代,是對超文本標記語言的補充
     它和超文本標記語言爲不一樣的目的而設計:1.它被設計用來傳輸和存儲數據,其焦點是數據的內容
                                                                            2.超文本標記語言被設計用來顯示數據,其焦點是數據的外觀
     
     JSon(JavaScript Object Notation)
     
     JSon是一種輕量級的數據交換格式。它基於ECMAScript的一個子集
     JSon語法是JavaScript對象表示語法的子集
     JSon的值能夠是數字、字符串、邏輯值、數組、對象、null
     JSon結構有兩種結構: 1.對象,對象在js中表示爲「{}」括起來的內容
                                             2.數組,數組在js中是中括號「[]」括起來的內容
 
      JSP(Java Server Pages)java服務器頁面
 
     JSP是一種動態網頁技術,跨平臺的
     它實現了HTML語法中的Java擴展(以<%%>形式)。JSP與Servlet同樣,實在服務器端執行的。一般返回給客戶端的就是
     一個HTML文本,所以客戶端只要有瀏覽器就能瀏覽
 
     Servlet(Servlet Applet)
 
     用Java編寫的服務器端程序。其主要功能在於交互式的瀏覽和修改數據,生成動態Web內容     
     從原理上講,Servlet能夠響應任何類型的請求,但絕大多數狀況下Servlet只用來擴展基於HTTP協議的Web服務器
     Servlet的主要功能在於交互式的瀏覽和修改數據,生成動態web內容,這個過程爲:
     1.客戶端發送請求到服務器端
     2.服務器將請求信息發送至Servlet
     3.Servlet生成響應內容並將其傳給服務器。響應內容動態生成,一般取決於客戶端的請求
     4.服務器將響應返回給客戶端
 
     JSTL(JSP Standard Tag Library)JSP標籤庫
 
     JSTL是一個不斷完善的開放源代碼的JSP標籤庫,是由apache來維護的
      JSTL只能運行在支持JSP1.2和Servlet2.3規範的容器上
     優勢:1.在應用程序服務器之間提供了一致的接口,最大程度地提升了WEB應用在各服務器之間的移植
                2.簡化了JSP和WEB應用程序的開發
 
     AJAX(Asynchronous JavaScript And XML)
     
     AJAX是一種建立交互式網頁應用的網頁開發技術
     AJAX=異步JavaScript和XML(標準通用標記語言的子集)
     AJAX能夠經過在後臺與服務器進行少許數據交換,AJAX可使網頁實現異步更新
 
     MVC(Model View Controller模型-視圖-控制器)
     
     MVC是一種軟件設計典範,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯彙集到一個部件裏面,
     在改進和個性化定製界面及用戶交互的 同時,不須要從新編寫業務邏輯。
     (使用MVC的目的是將M和V實現代碼分離,從而同一個程序可使用不一樣的表現形式)
     MVC是一個框架模式,他強制性的使應用程序的輸入、處理和輸出分開。最典型的MVC的就是JSP+Servlet+Javabean的模式
    
    框架和設計模式的區別
    框架一般是代碼重用,而設計模式是設計重用,架構則介於二者之間,部分代碼重用,部分設計重用,有時分析也可重用。
 
     單例模式
 
     單例模式是一種經常使用的軟件設計模式。在它的核心結構中包含一個被稱爲單例的特殊類。經過單例模式
     能夠保證系統中一個類只有一個實例
     Java中單例模式定義「一個類有且僅有一個實例,而且自行實例化向整個系統提供」;
     單例模式式設計模式中最簡單的形式之一 。這一模式的目的是使得類的一個對象成爲系統中的惟一實例
 
     工廠模式
 
     工廠模式是咱們最經常使用的實例化對象模式,是用工廠方法代替new操做的一種模式
     工廠模式中有:工廠方法和抽象工廠
 
      Spring(由Rod Johnson建立的一個開源框架)
 
     spring是一個分層的輕量級開源框架,以IoC(控制反轉)和AOP(面向切面編程)爲核心
     優勢:1.方便解耦,簡化開發(高內聚低耦合)
                  Spring是一個容器,能夠將全部對象建立和依賴關係維護,交給Spring管理
               2.AOP編程的支持
                  Spring提供面向切面編程,能夠方便的實現對程序進行權限攔截、運行監控等功能
               3.聲明事務的支持
                  只須要經過配置就能夠完成對事務的管理,而無需手動編程     
               4.方便程序的測試
                  Spring對Junit4的支持,能夠經過註解方便測試Spring程序
               5.方便集成各類優秀框架
                  Spring不排斥各類優秀的開源框架,其內部提供了對各類優秀框架的直接支持
               6.下降JavaEE API的使用難度
                  Spring對Java EE開發中很是難用的一些API(JDBC)都提供了封裝,使這些API應用難度大大下降
     
     IoC(inverse of control)
     IOC控制反轉:所謂控制反轉對象(bean)和維護對象(bean)之間關係的權利轉移到Spring容器去了(ApplicationContext.xml)
                              而程序自己再也不須要維護了
     DI(dependency injection)依賴注入:自身對象中的內置對象是經過注入的方式進行建立。
 
 
 
      AOP(Aspect Oriented Programing)
     AOP面向切面編程:經過預編譯方式和運行期動態代理實現程序功能的統一維護的一種技術,AOP是OOP(面向對象編程)
                                   的延續,是Spring框架中的一個重要內容。利用AOP能夠對業務邏輯的各個部分進行隔離,從而使得
                                   業務邏輯各部分之間的耦合度下降,提升程序的課重用性,同時提升了開放的效率
     AOP採用了橫向抽取機制,取代了傳統的縱向繼承體系
     經典應用:事務管理、性能監視、緩存、日誌等
 
     Mybatis
       Mybatis原本是Apache的一個開源項目IBatis,2010年這個項目由Apache software foundation遷移到了Google code
       並更名爲Mybatis。2013年11月遷移到GitHub
       Mybatis是一個J基於Java的持久層框架
       整體流程:1.加載配置並初始化
                       2.接收調用請求 
                       3.處理操做請求
                       
      SpringMvc
    SpringMvc是spring的一個模塊 基於MVC的一個框架 無需中間整合層來整合。
     優勢: 易於同其餘View框架無縫集成
     通常步驟:第一步:用戶發起請求到前端控制器(DispatcherServlet)
                     第二步:前端控制器請求處理器映射器(HandlerMappering)去查找處理器(Handle):經過xml配置或者註解進行查找
                     第三步:找到之後處理器映射器(HandlerMappering)像前端控制器返回執行鏈(HandlerExecutionChain)
                     第四步:前端控制器(DispatcherServlet)調用處理器適配器(HandlerAdapter)去執行處理器(Handler)
                     第五步:處理器適配器去執行Handler
                     第六步:Handler執行完給處理器適配器返回ModelAndView
                     第七步:處理器適配器向前端控制器返回ModelAndView
                     第八步:前端控制器請求視圖解析器(ViewResolver)去進行視圖解析
                     第九步:視圖解析器像前端控制器返回View
                     第十步:前端控制器對視圖進行渲染
                     第十一步:前端控制器向用戶響應結果
相關文章
相關標籤/搜索