用友Java類筆試題和面試題答案大全

大風(fēng)車考試網(wǎng)

  如下為大家匯總的是一份用友Java類筆試題,歡迎大家關(guān)注!
  1.Hashtable和HashMap有什么區(qū)別?

  a.Hashtable是繼承自陳舊的Dictionary類的,HashMap繼承自AbstractMap類同時是Java 1.2引進的Map接口的一個實現(xiàn)。

  b.也許最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。這就意味著,

  雖然你可以不用采取任何特殊的行為就可以在一個 多線程的應(yīng)用程序中用一個Hashtable,

  但你必須同樣地為一個HashMap提供外同步。一個方便的方法就是利用Collections類的靜態(tài)的synchronizedMap()方法,

  它創(chuàng)建一個線程安全的Map對象,并把它作為一個封裝的對象來返回。這個對象的方法可以讓你同步訪問潛在的HashMap。

  這么做的結(jié)果就是當(dāng)你不需要同步時,你不能切斷Hashtable中的同步(比如在一個單線程的應(yīng)用程序中),而且同步增加了很多處理費用。

  c.第三點不同是,只有HashMap可以讓你將空值作為一個表的條目的key或value。

  HashMap中只有一條記錄可以是一個空的key,但任意數(shù)量的條目可以是空的value。

  這就是說,如果在表中沒有發(fā)現(xiàn)搜索鍵,或者如果發(fā)現(xiàn)了搜索鍵,但它是一個空的值,那么get()將返回null。

  如果有必要,用containKey()方法來區(qū)別這兩種情況。

  d.HashMap去掉了Hashtable的contains方法,保留了containsValue和containsKey方法

  e.Hashtable中hash數(shù)組默認大小是11,增加的方式是 old*2+1。HashMap中hash數(shù)組的默認大小是16,而且一定是2的指數(shù)

  2.你怎么理解MVC模式?

  MVC是SUN早期提出的model2開發(fā)模式,強制的把視圖控制和模型層分開

  不僅實現(xiàn)了功能模塊和顯示模塊的分離,同時它還提高了應(yīng)用系統(tǒng)的可維護性、可擴展性、可移植性和組件的可復(fù)用性

  4.SQLServer中的數(shù)據(jù)庫,在Oracle中對應(yīng)的是什么?

  表空間

  5.如果SQLServer中有兩個數(shù)據(jù)庫,那么讓你把這兩個數(shù)據(jù)庫對應(yīng)到Oracle中,你應(yīng)該怎么做?

  在Oracle中建一個用戶,對應(yīng)兩個表空間

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

  a:最常用的方法是用form中的text,,然后在b.jsp頁面中這樣獲取

  String username=request.getParameter(“username”);

  b:直接在Url地址欄里面輸入第一個頁面的地址,在后加問號,然后把要傳的參數(shù)及值寫在后面,如有多個用&隔開,然后在下一頁面用

  request.getParameter(“參數(shù)名”)來獲取,例如:http://localhost:8080/a.jsp?username=admin&password=111

  在b.jsp中可用這樣獲取:String username=request.getParameter(“username”);String username=request.getParameter(“password”);

  c:在form中放hidden,如:,獲取方法同上

  說明:傳值的方法有很多種,以上是最常用最簡單的幾種方式,當(dāng)然,如果傳的值有中文的話,需另做處理

  6.有三個頁面,a.jsp,b.jsp和c.jsp,流程是:a.jsp->b.jsp->c.jsp,其中a.jsp中提交的數(shù)據(jù)要在c.jsp中訪問,用最簡單的方法 怎么做?注意不能放在session里

  用隱藏表單域,即在b.jsp頁面中用N個hidden把上一頁面提交過來的信息保存下來,然后和當(dāng)前一起提交,再到c.jsp里面獲取

  說明:盡量不要用session和少用session

  7.jsp和servlet有什么區(qū)別?

  a:servlet是在java代碼里面放html,jsp是在html里面放java代碼(最后運行的時候服務(wù)器會把JSP解析成servlet)

  b:servlet是一個java類,有自己的映射,而jsp不是

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

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

  9.Hibernate中:不看數(shù)據(jù)庫,不看XML文件,不看查詢語句,怎么樣能知道表結(jié)構(gòu)?

  看表結(jié)構(gòu)對應(yīng)的類文件,比如UserInfo表對應(yīng)的UserInfo.java文件

  10.SQLServer支持集群嗎?

  支持,但是是屬于熱備份類型,不能做負載平衡。不過符合你的條件。

  首先系統(tǒng)做集群,數(shù)據(jù)庫文件放到磁盤陣列里,雙機或多機共同訪問磁盤陣列,就可以了

  IIS可以做集群后負載平衡。

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

  MVC各施其職,互不干涉

  在MVC模式中,三個層各施其職,所以如果一旦哪一層的需求發(fā)生了變化,

  就只需要更改相應(yīng)的層中的代碼而不會影響到其它層中的代碼。 有利于開發(fā)中的分工

  在MVC模式中,由于按層把系統(tǒng)開,那么就能更好的實現(xiàn)開發(fā)中的分工。網(wǎng)頁設(shè)計人員可以進行開發(fā)視圖層中的JSP,

  對業(yè)務(wù)熟悉的開發(fā)人員可開發(fā)業(yè)務(wù)層,而其它開發(fā)人員可開發(fā)控制層。 有利于組件的重用

  分層后更有利于組件的重用。如控制層可獨立成一個能用的組件,視圖層也可做成通用的操作界面

  說明:這個好處就太多了!!!

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

  寫一個action,讓這個action繼承自DispatchAction,然后在struts-config.xml中給這個action映射加一參數(shù),parameter=”method”

  這個在提交到這個action中時,會根據(jù)傳來的參數(shù)中method的值來執(zhí)行相應(yīng)的action的方法,比如,http://localhost:8080/login.do?method=doLogin

  這個提交到action的時會自動找方法名叫doLogin的方法,參數(shù)返回值原來一樣ActionForward

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

  struts的actionform其實不好,里面有一堆屬性,雖然可以自動填充,但是你會發(fā)現(xiàn),在很多情況下(比如你用到Hibernate)

  你還要需要自動寫一個數(shù)據(jù)庫表的映射類,通常是domain.UserInfo.java,這樣就和strutsform中的屬性重復(fù),所以他很多余,

  struts1.1版本,保留了actionform,struts1.2中已經(jīng)有了新的LazyValidatorForm,但仍然保留了原有的actionform,

  而在struts 2.0中已經(jīng)把actionform去掉了

  下面是解決方法

  a: 把actionform換成DynaActionForm ,和原來不同的是在dynaActionForm可以domain.UserInfo.java的一個實例做為他的一個屬性

  這樣你就不需要在里面寫一堆的get,set方法,只是在頁面上綁定稍有不同

  b: 把actionform換成org.apache.struts.validator.LazyValidatorForm,這樣你完全不用寫你的actionform這個類,直接在xml里面做

  相應(yīng)配置,當(dāng)然也可以加上驗證框架

  警告:這個問題是陷阱,實際上struts的actionform很不好,非常麻煩,用久了你會發(fā)現(xiàn)他其實是多余的,所以這個問題你應(yīng)該說他的壞處,

  和怎么把actonform去掉

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

  Hibernate的最大的好處就是簡化數(shù)據(jù)庫的操作,允許你的代碼以對象模式來訪問數(shù)據(jù)庫內(nèi)容,

  比如通常我們找一個User的資料需要select出所需要的資料,而通過hibnate我們可以把這個User的資料作為一個對象來看待

  ,通過User.getName()或者User.getId()等操作來獲得,這樣就完全統(tǒng)一了上層JAVA或者C#等OO語言中對于數(shù)據(jù)庫的非OO操作的不和諧了.

  另外對于復(fù)雜的表和表之間的關(guān)聯(lián)我們也不用去使用復(fù)雜的Select等SQL來操作,而使用對象可以方便獲得,

  比如多對多關(guān)系某用戶屬于的部門的名稱,雖然底層數(shù)據(jù)庫使用了3個表的主鍵關(guān)聯(lián)操作,

  但是我們可以通過User.getDep().getName()來簡單的獲得,這個就是持久化對象的好處了

  說明:好處太多,只能在用的過程中慢慢體會 只能說一個字:爽

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

  • 相關(guān)文章
  • 金山軟件C++筆試題和面試題答案金山軟件C++筆試題和面試題答案

    1.斐波那契數(shù)列的代碼實現(xiàn) 2.多繼承存在的問題,如何解決 3.什么是野指針,什么情況下會產(chǎn)生野指針,如何避免? 4.快速排序的時間復(fù)雜度計算 ..

  • 騰訊計算機類筆試題和面試題答案目騰訊計算機類筆試題和面試題答案目

    3.Internet物理地址和IP地址轉(zhuǎn)換采用什么協(xié)議? 答案:地址解析協(xié)議ARPaddressresolutionprotocol 4.IP地址的編碼分為哪倆部分? 答案:網(wǎng)絡(luò)號和..

  • 騰訊計算機類筆試題和面試題答案目騰訊計算機類筆試題和面試題答案目

    2015騰訊計算機類筆試題目共享: 1爸爸,媽媽,妹妹,小強,至少兩個人同一生肖的概率是多少? 1-12*11*10*9/12*12*12*12=1-55/96=41/962.1-20的..

  • 金山軟件C++筆試題和面試題答案金山軟件C++筆試題和面試題答案

    1.斐波那契數(shù)列的代碼實現(xiàn) 2.多繼承存在的問題,如何解決 3.什么是野指針,什么情況下會產(chǎn)生野指針,如何避免? 4.快速排序的時間復(fù)雜度計算 ..

  • 騰訊計算機類筆試題和面試題答案目騰訊計算機類筆試題和面試題答案目

    3.Internet物理地址和IP地址轉(zhuǎn)換采用什么協(xié)議? 答案:地址解析協(xié)議ARPaddressresolutionprotocol 4.IP地址的編碼分為哪倆部分? 答案:網(wǎng)絡(luò)號和..

  • 騰訊計算機類筆試題和面試題答案目騰訊計算機類筆試題和面試題答案目

    2015騰訊計算機類筆試題目共享: 1爸爸,媽媽,妹妹,小強,至少兩個人同一生肖的概率是多少? 1-12*11*10*9/12*12*12*12=1-55/96=41/962.1-20的..

  • 河北新聞網(wǎng)兩學(xué)一做知識競賽(試題+答案完整版)河北新聞網(wǎng)兩學(xué)一做知識競賽(試題+答案完整版)

    2016河北新聞網(wǎng)兩學(xué)一做知識競賽開賽啦,快來圍觀吧;顒觾(nèi)容為推動“兩學(xué)一做”學(xué)習(xí)教育深入開展,省委宣傳部、省委組織部組織開展“兩學(xué)一做”知識競賽活動,河北..

  • 河北新聞網(wǎng)兩學(xué)一做知識競賽活動試題答案河北新聞網(wǎng)兩學(xué)一做知識競賽活動試題答案

    2016年河北新聞網(wǎng)兩學(xué)一做知識競賽活動試題答案為推動“兩學(xué)一做”學(xué)習(xí)教育深入開展,省委宣傳部、省委組織部組織開展“兩學(xué)一做”大型知識競賽。此項活動由河北新聞..

  • 兩學(xué)一做學(xué)習(xí)教育知識競賽活動10篇兩學(xué)一做學(xué)習(xí)教育知識競賽活動10篇

    為隆重紀念中國共產(chǎn)黨建黨95周年,推進我市“兩學(xué)一做”學(xué)習(xí)教育深入開展,推動廣大黨員干部認真學(xué)好黨章黨規(guī)和*系列重要講話,現(xiàn)將“兩學(xué)一做”學(xué)習(xí)教育知識競賽題予..

  • 開展兩學(xué)一做學(xué)習(xí)教育知識競賽活動真題答案開展兩學(xué)一做學(xué)習(xí)教育知識競賽活動真題答案

    144.根據(jù)《中國共產(chǎn)黨紀律處分條例》規(guī)定,黨的各級代表大會的代表受到(D)處分的,黨組織應(yīng)當(dāng)終止其代表資格。A.警告(含)以上B.嚴重警告(含)以上C.撤銷黨內(nèi)職務(wù)(含)以..