<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    hjh132's Blog
    If a thing is worth doing it is worth doing well.
    posts - 20,comments - 9,trackbacks - 0

    1.Hashtable和HashMap有什么區別?

      a.Hashtable是繼承自陳舊的Dictionary類的,HashMap繼承自AbstractMap類同時是Java 1.2引進的Map接口的一個實現。
      b.也許最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。這就意味著,
        雖然你可以不用采取任何特殊的行為就可以在一個  多線程的應用程序中用一個Hashtable,
        但你必須同樣地為一個HashMap提供外同步。一個方便的方法就是利用Collections類的靜態的synchronizedMap()方法,
        它創建一個線程安全的Map對象,并把它作為一個封裝的對象來返回。這個對象的方法可以讓你同步訪問潛在的HashMap。
        這么做的結果就是當你不需要同步時,你不能切斷Hashtable中的同步(比如在一個單線程的應用程序中),
        而且同步增加了很多處理費用。
      c.第三點不同是,只有HashMap可以讓你將空值作為一個表的條目的key或value。
        HashMap中只有一條記錄可以是一個空的key,但任意數量的條目可以是空的value。
        這就是說,如果在表中沒有發現搜索鍵,或者如果發現了搜索鍵,但它是一個空的值,那么get()將返回null。
        如果有必要,用containKey()方法來區別這兩種情況。
      d.HashMap去掉了Hashtable的contains方法,保留了containsValue和containsKey方法 
      e.Hashtable中hash數組默認大小是11,增加的方式是 old*2+1。HashMap中hash數組的默認大小是16,而且一定是2的指數

    2.你怎么理解MVC模式?

      MVC是SUN早期提出的model2開發模式,強制的把視圖控制和模型層分開
     不僅實現了功能模塊和顯示模塊的分離,同時它還提高了應用系統的可維護性、可擴展性、可移植性和組件的可復用性

    3.SQLServer中左聯接查詢用left join,Oracle中用什么?

      左連接:select(nvl(a.c,0)-nvl(b.c,0)) from  a,b where a.id(+)=b.id
      右連接:select(nvl(a.c,0)-nvl(b.c,0)) from  a,b where a.id=b.id(+)
      自連接:select(nvl(a.c,0)-nvl(b.c,0)) from  a,b where a.id(+)=b.id(+)
      說明:加號寫在左就是左連接,寫在右就是右連接,看加號的方法來定

    4.SQLServer中的數據庫,在Oracle中對應的是什么?

      表空間

    5.如果SQLServer中有兩個數據庫,那么讓你把這兩個數據庫對應到Oracle中,你應該怎么做?

      在Oracle中建一個用戶,對應兩個表空間

    6.有兩個頁面a.jsp和b.jsp,要從a.jsp傳值到b.jsp有幾種方法?分別是什么?

      a:最常用的方法是用form中的text,<input type=text name=username value=admin>,然后在b.jsp頁面中這樣獲取
        String username=request.getParameter("username");
      b:直接在Url地址欄里面輸入第一個頁面的地址,在后加問號,然后把要傳的參數及值寫在后面,如有多個用&隔開,然后在下一頁面用
        request.getParameter("參數名")來獲取,例如:http://localhost:8080/a.jsp?username=admin&password=111
        在b.jsp中可用這樣獲取:String username=request.getParameter("username");String username=request.getParameter("password");
      c:在form中放hidden,如:<input type=hidden name=username value=admin>,獲取方法同上
      說明:傳值的方法有很多種,以上是最常用最簡單的幾種方式,當然,如果傳的值有中文的話,需另做處理

    7.jsp和servlet有什么區別?

      a:servlet是在java代碼里面放html,jsp是在html里面放java代碼(最后運行的時候服務器會把JSP解析成servlet) 
      b:servlet是一個java類,有自己的映射,而jsp不是
      說明:區別太多,請參考http://00000000.net.cn/200606/200606097/97681.htm

    8.映射是什么?你怎么理解映射?

      映射即別名,通過別名可以訪問

    9.Hibernate中:不看數據庫,不看XML文件,不看查詢語句,怎么樣能知道表結構?

      看表結構對應的類文件,比如UserInfo表對應的UserInfo.java文件

    10.SQLServer支持集群嗎?

      支持,但是是屬于熱備份類型,不能做負載平衡。不過符合你的條件。
      首先系統做集群,數據庫文件放到磁盤陣列里,雙機或多機共同訪問磁盤陣列,就可以了
      IIS可以做集群后負載平衡。

    11.為什么要用MVC?我從JSP頁面直接訪問數據庫不是更簡單嗎,為什么非要先提交到控制再做處理?

       MVC各施其職,互不干涉
       在MVC模式中,三個層各施其職,所以如果一旦哪一層的需求發生了變化,
       就只需要更改相應的層中的代碼而不會影響到其它層中的代碼。  有利于開發中的分工
       在MVC模式中,由于按層把系統開,那么就能更好的實現開發中的分工。網頁設計人員可以進行開發視圖層中的JSP,
       對業務熟悉的開發人員可開發業務層,而其它開發人員可開發控制層。  有利于組件的重用
       分層后更有利于組件的重用。如控制層可獨立成一個能用的組件,視圖層也可做成通用的操作界面
       說明:這個好處就太多了!!!

    12.在struts中,假設有一個對數據庫中一張表的增刪改查的操作,你是寫一個action還是寫多個action?為什么?

       寫一個action,讓這個action繼承自DispatchAction,然后在struts-config.xml中給這個action映射加一參數,parameter="method"
       這個在提交到這個action中時,會根據傳來的參數中method的值來執行相應的action的方法,比如,http://localhost:8080/login.do?method=doLogin
       這個提交到action的時會自動找方法名叫doLogin的方法,參數返回值原來一樣ActionForward

    13.struts中的actionform有什么好處?

       struts的actionform其實不好,里面有一堆屬性,雖然可以自動填充,但是你會發現,在很多情況下(比如你用到Hibernate)
       你還要需要自動寫一個數據庫表的映射類,通常是domain.UserInfo.java,這樣就和strutsform中的屬性重復,所以他很多余,
       struts1.1版本,保留了actionform,struts1.2中已經有了新的LazyValidatorForm,但仍然保留了原有的actionform,
       而在struts 2.0中已經把actionform去掉了
       下面是解決方法
       a:  把actionform換成DynaActionForm ,和原來不同的是在dynaActionForm可以domain.UserInfo.java的一個實例做為他的一個屬性
           這樣你就不需要在里面寫一堆的get,set方法,只是在頁面上綁定稍有不同
       b:  把actionform換成org.apache.struts.validator.LazyValidatorForm,這樣你完全不用寫你的actionform這個類,直接在xml里面做
           相應配置,當然也可以加上驗證框架
       警告:這個問題是陷阱,實際上struts的actionform很不好,非常麻煩,用久了你會發現他其實是多余的,所以這個問題你應該說他的壞處和怎么把actonform去掉。

    14.用過Hibernate嗎,用它有什么好處?

       Hibernate的最大的好處就是簡化數據庫的操作,允許你的代碼以對象模式來訪問數據庫內容,
       比如通常我們找一個User的資料需要select出所需要的資料,而通過hibnate我們可以把這個User的資料作為一個對象來看待
       ,通過User.getName()或者User.getId()等操作來獲得,這樣就完全統一了上層JAVA或者C#等OO語言中對于數據庫的非OO操作的不和諧了.
       另外對于復雜的表和表之間的關聯我們也不用去使用復雜的Select等SQL來操作,而使用對象可以方便獲得,
       比如多對多關系某用戶屬于的部門的名稱,雖然底層數據庫使用了3個表的主鍵關聯操作,
       但是我們可以通過User.getDep().getName()來簡單的獲得,這個就是持久化對象的好處了
       說明:好處太多,只能在用的過程中慢慢體會   只能說一個字:爽

    15.通常所說的web應用程序分3層,即MVC,如果我想分四層,應該怎么分?

        加一個Hibernate數據持久層 
    posted on 2008-01-19 00:50 101℃太陽 閱讀(208) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 成人免费a级毛片无码网站入口 | 国产福利免费观看| 亚洲精品一区二区三区四区乱码 | 免费不卡中文字幕在线| 亚洲第一成年免费网站| 四色在线精品免费观看| 亚洲第一街区偷拍街拍| 国产免费av片在线播放| 粉色视频免费入口| 在线观看国产区亚洲一区成人| 巨胸喷奶水视频www免费视频| 久久亚洲国产精品一区二区| 久久免费视频99| 亚洲国产亚洲综合在线尤物| 性生交片免费无码看人| 亚洲国产成人精品无码区二本 | 性色av无码免费一区二区三区| 亚洲国产成a人v在线观看 | 国产精品内射视频免费| 亚洲AV无码国产丝袜在线观看 | 久久亚洲色一区二区三区| 人妻免费一区二区三区最新| 亚洲一级二级三级不卡| 亚洲成在人线aⅴ免费毛片| 国产精品久久久久久亚洲影视| 亚洲日韩在线中文字幕第一页| 日本高清免费观看| 亚洲av无码一区二区三区观看| 日本一道综合久久aⅴ免费| 一区二区三区在线免费| 久久丫精品国产亚洲av| 成年女人色毛片免费看| 特级一级毛片免费看| 亚洲AV永久纯肉无码精品动漫| 国产桃色在线成免费视频| 无套内谢孕妇毛片免费看看| 久热综合在线亚洲精品| 成年女人毛片免费播放人| 一级毛片无遮挡免费全部| 亚洲精品国产啊女成拍色拍| 亚洲国产成人精品女人久久久|