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
                     第十步:前端控制器對視圖進行渲染
                     第十一步:前端控制器向用戶響應結果
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM