java面試問題收集

來源:互聯網
上載者:User

cookiee session區別
  1 用戶端服務端
  2 session瀏覽器關閉時無效,cookiee有效期間可以設定

db髒讀,在spring中託管事務可以配置/代碼 SQL標準定義了4類隔離等級

  1 髒讀,一個事務獨到了另外一個事務未commit的但已經儲存的資料

  2 Read Commited,一個事務只能讀取到所有已經commit的資料  MVCC MySQL InnoDB的可重複讀並不保證避免幻讀,需要應用使用加鎖讀來保證。而這個加鎖度使用到的機制就是next-key locks。      

         SELECT * FROM child WHERE id < 100 FOR UPDATE;可以鎖住100以內的資料,讓其他事務排隊等候

  3 Repeatable Read(可重複讀),select始終返回事務開始時候的資料,適合并發讀取,但是可能產生幻讀,當更新的時候,發現和查到的資料時不一致的

  4 Serializable強制事務排序,使之不可能相互衝突會有效率問題

異常分類

       1 Throwable 類是 Java 語言中所有錯誤或異常的超類(這就是一切皆可拋的東西)。它有兩個子類:Error和Exception。 Exception又分為兩類:一種是CheckedException,一種是UncheckedException。

         這兩種Exception的區別主要是CheckedException需要用try...catch...顯示的捕獲,而UncheckedException不需要捕獲。

       2 Error類對象由Java虛擬機器產生並拋出,Exception類對象由應用程式處理或拋出 error表示恢複不是不可能但很困難的情況下的一種嚴重問題。比如說記憶體溢出。不可能指望程式能處理這樣的情況。

       3 如果是運行時異常,我們可以不用方在 try catch 塊中,因為我們根本就不知道該 如何去處理這個異常來保障程式的正常運行。如果是 檢查異常,我們就要對這個異常進行處理,既然 是檢查異常,

         我們應該已經有了處理這個異常的方案,所以就要用 try catch 處理這個異常來保障 程式運行。

IO NIO
  http://blog.csdn.net/showwair/article/details/7488523
  http://furturestrategist.iteye.com/blog/1463369

sendRedirect response.redirect 跳轉
     1 sendRedirect 用戶端跳轉,用戶端發送兩次請求,最終地址顯示跳轉地址
     2 response.redirect 服務端跳轉,用戶端發送一次請求,最終顯示地址為初始請求地址
    RequestDispatcher reqDispatcher=request.getRequestDispacher("");
    reqDispatcher.forward(request,response)

比較

  “==”比較兩個變數本身的值,即兩個對象在記憶體中的首地址。
  “equals()”比較字串中所包含的內容是否相同。

 

struts 防止重複提交

       1 原理,<s: token />產生一個GUID值的隱藏輸入框,將GUID放到會話(session)中;在執行action之前,“token”攔截器將會話token與請求token比較,如果兩者相同,

    則將會話中的token刪除並往下執行,否則向actionErrors加入錯誤資訊 主要用到的是

           <%@ tag-lib uri="/struts-tags" prefix="s" %>

           <s:form action="tokenAction"> <s:textfield name=""/>  <s:token />  <input type="submit" value="發送"/> </s:form>

         2 struts2在防止表單重複提交的攔截中有2個,分別是:token,tokenSession。tokenSession繼承token而來。 通常情況下,使用tokenSession用戶端感覺會比較友好,

    因為tokenSession如果重複提交,不會跳轉到error.jsp頁面

           <action name="tokenAction" class="">  <interceptor-ref name="defaultStack" />  <interceptor-ref name="token" />  

                 <result name="invalid.token">/WEB-INF/notfirstsubmit.jsp</result> 

            </action>

Map Set Collection區別 
   1 Java所有“儲存及隨機訪問一連串對象”的做法,array是最有效率的一種。缺點是,無法判斷其中實際存有多少元素,length只是告訴我們array的容量
     2 Collection包含List、Set,List以特定次序儲存資料,Set資料不可重複;set只能通過itorator遍曆元素,List可以使用get();
   3 List包含ArrayList、LinkedList、Vector(包含棧),對於需要快速插入,刪除元素,應該使用LinkedList
  4 Map 包含HashMap、HashTable、TreeMap,HashMap最快,HashMap和Hashtable類似,不同之處在於HashMap是非同步的,並且允許null

servlet是什麼
      將 Servlet 封裝成 Context 容器中的 StandardWrapper,這裡 StandardWrapper 是 Tomcat 容器中的一部分,它具有容器的特徵,
而 Servlet 為了一個獨立的 web 開發標準,不應該強耦合在 Tomcat 中。 StandardWrapper 並作為子容器添加到 Context 中,
其它的所有 web.xml 屬性都被解析到 Context 中,所以說 Context 容器才是真正運行 Servlet 的 Servlet 容器。
如果 Servlet 的 load-on-startup 配置項大於 0,那麼在 Context 容器啟動的時候就會被執行個體化,前面提到在解析設定檔時會讀取預設的 globalWebXml,
在 conf 下的 web.xml 檔案中定義了一些預設的配置項,其定義了兩個 Servlet,分別是:org.apache.catalina.servlets.DefaultServlet
和 org.apache.jasper.servlet.JspServlet 它們的 load-on-startup 分別是 1 和 3,也就是當 Tomcat 啟動時這兩個 Servlet 就會被啟動。
建立 Servlet 執行個體的方法是從 Wrapper. loadServlet 開始的。loadServlet 方法要完成的就是擷取 servletClass 然後把它交給 InstanceManager
去建立一個基於 servletClass.class 的對象。如果這個 Servlet 配置了 jsp-file,那麼這個 servletClass 就是 conf/web.xml 中定義的
org.apache.jasper.servlet.JspServlet 了。
Servlet 的確已經能夠幫我們完成所有的工作了,但是現在的 web 應用很少有直接將互動全部頁面都用 servlet 來實現,而是採用更加高效的 MVC 架構來實現。
什麼JSP呢?和Servlet的關係又是什麼呢?JSP是Servlets技術的一個擴充。JSP可以做的任何事情,Servlet都可以完成。但是JSP允許你將Java代碼輕鬆地和HTML語言混合在一起使用,並完成強大的功能。可以使你容易的閱讀代碼並在瀏覽器中瀏覽到程式執行的結果。
當第一次訪問一個JSP檔案時,它會被轉換為Java servlet源碼,接著被編譯成Java位元組碼,work 存放jsp編譯後產生的class檔案

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.