杭州公司筆試題目_第1頁
杭州公司筆試題目_第2頁
杭州公司筆試題目_第3頁
杭州公司筆試題目_第4頁
杭州公司筆試題目_第5頁
已閱讀5頁,還剩65頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1.離線查詢去除重復項怎么加條件?

dc.selRmullTransformer(Crileria.DISTINCT_ROOT_ENTITY);

2.http協議及端口,smtp協議及端口

超文本傳輸協議端口80

簡單郵件傳輸協議端口25

3.編寫程序,完成文件復制功能錯誤?

InputStreamis=newInputStream();

OutputStrcamos=newFileOutputStream(newFile("寫入的文件的路徑"));byte[]

buff=newbyte[8192];intlength=0;

while((length=is.read(buff))!=-l){

os.write(buff,0,length);

}然后try...catch。..finally{關閉流}

4.Servlel創建過程及生命周期Servle1在容器中運行時,其實例的創建及銷毀等是由容器進

行控制。

Servlet的創建有兩種方法。

1、客戶端請求對應的Senlet時,創建Servlet實例;大部分Servlet都是這種Servleto

2^通過在web.xml中設置load-on-starlup來創建servlet實例,這種實例在Web應用啟動

時,立即創建Servlet實例

Servlet的運行都遵循如下生命周期:

1、創建Servlet實例。

2、Web容器調用Servlet的init方法,對Servlet進行初始化。

3、Servlet初始化后,將一直存在于容器中,用于響應客戶端請求。。如果客戶端有get請

求,容器調用Se凹let的doGet方法處理并響應請求。對于不同的請求,有不同的處理方

法,或者統一使用service方法處理來響應用戶請求。

4、Web容器角色銷毀Servlet時,調用Servlet的destroy方法,通常在關閉Web容器之

時銷毀Servleto

5.用sql語句分頁:list.map.set的存儲特點?

List以特定次序來持有元素,可有重復元素.Set無法擁有重亞元素,內部排序.Map保存

key-value值,value可多值

6.final,finally,finaliz的區別

final一修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,

不能作為父類被繼承。因比一個類不能既被聲明為abstract的,又被聲明為final的。將

變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲

明時給定初值,而在以后的引用中只能讀取,不可修改被聲明為final的方法也同樣只能

使用,不能重載。

finally一再異常處理時提供finally塊來執行任何清除操作。如果拋出一個異常,那么相

匹配的catch子句就會執行,然后控制就會進入finally塊(如果有的話)。

finalize一方法名。Java技術允許使用finalize。方法在垃圾收集器將對象從內存中清除

出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個

對象調用的。它是在Objeci類中定義的,因此所有的類都繼承了它。子類覆蓋;finalize。

方法以整理系統資源或者執行其他清理工作finalizeO方法是在垃圾收集器刪除對象之前

對這個對象調用的。

7.arraylist和vector的區別?

ArrayList作為一個常規用途的對象容器使用,用于替換原先的Vector。允許我們快速訪問

元素,但在從列表中部插入和刪除元素時,速度卻嫌稍慢。

一般只應該用Listiterator對一個ArrayList進行向前和向后遍歷,不要用它刪除和插入元素;

與LinkedList相比,它的效率要低許多

8.Arraylistlinkedlist區別?

ArrayList采用的是數組形式來保存對象的,這種方式將對象放在連續的位置中,所以最大

的缺點就是插入刪除時非常麻煩LinkedList采用的將對象存放在獨立的空間中,而旦在每

個空間中還保存下一個鏈接的索引但是缺點就是查找非常麻煩要叢第一個索引開始

9.haSHMAP,HASHTABLE區另I」

1.Hashtable是Dictionary的子類,HashMap是Map接口的一個實現類:

2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情況下是非同步的。

3.在HashM叩中,null可以作為鍵,這樣的鍵只有一個;可以有一個或多個鍵所對應的值為

nulL

10.描述Cookie和Session的作用,區別和各自的應用范圍,Session工作原理

Cookie是在客戶端開辟的一塊可長期存儲用戶信息的地方;Session是在服務器內存中開辟

的一塊存儲用戶信息的地方;當客戶第一次訪問服務據時,服務相在內存創建對應的Session

給訪問客戶,當客戶離開或時間過期時:服務器自動銷毀Session;Session是由容器管理

1l.set,map,set接口的區別

list以特定次序來持有元素,可有重復元素,查找效率高,插入效率低化,

set無法擁有重更元素,內部排序,檢索元素效率低,刪除和插入效率高,因為插入和

刪除不會引起位置上的變化,

12.String和stringbuffer進行字符串連接時的區別?

String對項內容是不可改變的,StringBuffer是可以改變的,別且高效;

13.什么叫項目?

用有限的資源、有限的時間為特定客戶完成特定目標的一次性工作

14.J2EEJ是什么意思?2是什么意思EE是什么意思?Slruls的攔截器你是怎么做的,是

獨立開發的,能夠獨立開發的到。然后問有哪幾種攔截?

Java2Platform?EnterpriseEdition

繼承Abstract]nterceptor類,覆蓋intercept。方法

有struts0己的攔截器如timer,i18n,scop,servlelconfig,tcken

還有自定義攔截器

15.簡單介紹Fjava?Spring的AOP,1OC的講述對struts2的了解,1,2的比較xml

的了解J2ee的webserviced的協議?

SpringAOP:代理機制Spring提供的自動代理機制

Spring的IoC來實組件之間的依賴關系注入,使控制層與業務實現分離,即客戶通過

調用業務委托接口來調用具體的業務組件的實例,避免控制層與業務層的藕合帶來的維護

或升級困難。由Spring為DAO生成代理對象來為DAO添加事務服務,由IoC容器DAO的代理實例注

入到業務組件中,業務組件通過DAO的委托接口調用DAO對象,使得上層組件不直接依賴于DAO的實現

類,使得持久層更換或修改不影響上層組件。

16.Collections,collection的區別

Collection是個java.uiil卜的接口,它是各種集合結構的父接口。Collections是個java.util

下的普通類,它包含有各種有關集合操作的靜態方法。Collections是針對集合類的一個幫

助類,它提供一系列的郛態方法實現對各種集合的搜索,排序,線程安全化等操作

17.如何釋放過度使用的undo表空間

釋放undo表空間1.啟動SQLPLUS,并用sys登陸到數據庫。2.查找數據庫的UNDO

表空間名3.確認UNDO表空間;SQL>selectnamefromvStablespace;NAME

4.檢查數據庫UNDO表空間占用空間情況以及數據文件存放位置;5.查看回滾段的使

用情況,哪個用戶正在使用回滾段的資源,如果有用戶最好更換時間6.檢查UNDO

Segment狀態

18.數據庫里面游標,索引是怎么用的?在oracle數據庫中,用get和load方法這2個方

法來查沒有的數據那么分別會反饋什么樣的結果?

declarecurcursorkeysetfor

gel返回null,loadclassnotfoundException

19.在Oracle中數據庫中的一個表中,這個表沒有主鍵id也沒有特定標示來查數據,怎么查?

rowid

20.簡述privale、proleced、public、internal修飾符的訪問權限2.概述反射和序列化

請裂舉session、cookie、viewstatedn的應用范圍4、簡述WebService和Remoting的特點

和運用場景

同一個類同一個包不同包的子類不同包非子類

private*

default**

protected***

public****

Reflection是Java被視為動態(或準動態)語言的一個關鍵性質。這個機制允許程序在運行時透過Refl

ectiunAPIs取得任何一,卜己知名稱的class的內部信息,包括其modifiers(public,static第等)、

superclass(例如Object)、實現之interfaces(例如Cloneable),也包括fields和methods的所

有信息,并可于運行時改變佗Ids內容或喚起methods。本文信由實例,大面積示范ReflectionAPIs。

序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內容進行流化。可以對流化后的對象

進行讀寫操作,也可將流化后的對象傳輸于網絡之間。序列化是為了解決在對?對象流進行讀寫操作時所引

發的問題。

序列化的實現:將需要被序列化的類實現Serializable接口,該接口沒有需要實現的方法,

implementsSerializable只是為了標注該對象是可被序列化的,然后使用一個輸出流(如:

Fileoutputstream)來構域一個ObjectOutputStreamf對象流)對象,接著,使用

ObjectOutputStream對象的writeObject(Objectobj)方法就可以將參數為obj的對象寫出(即保存其

狀態),要恢復的話則用輸入流

21.ORACLE中not和and和or優先級由高到低?

notandor

22.java是如何進行異常處理的

調用這個對象的方法可以捕獲到這個異常并進行處理。Java的異常處理是通過5個關鍵

詞來實現的:try、catch、throw、ihrows和finally。一般情況下是用try來執行一段程序

23.struts2必備包

coninions-filcupload-1.2.1.jar

commons-io-1.3.2.jar

commons-logging-api-1.1.jar

freemarker-2.3.13.jar

ognl-2.6.11.jar

struts2-core-2.1.6.jar

xwork-2.1.2.jar

Dao是數據訪問對象DAO負責管理與數據源的連接來獲取和儲存其中的數據

ibtis中的#與$的區別

1、客戶端初始化一個指向Servlet容器(例如Tomcat)的請求

2、這個請求經過一系列的過濾器(Filler)(這些過濾器中有一個叫做AclionConlexlQeanUp

的可選過濾器,這個過濾器對于Struts2和其他框架的集成很有幫助,例如:SitcMcsh

Plugin);

3、接著FiltcrDispatchcr被調用,FiltcrDispatchcr詢問ActionMappcr來決定這個請求是否

需要調用某個Action;

4、如果ActionMapper決定需要調用某個Action,FilterDispatcher把請求的處理交給

ActionProxy;

5、ActionProxy通過ConfigurationManager詢問框架的配置文件,找到需要調用的Action

類;

6、ActionProxy創建一個Actioninvocation的實例。

7、Actioninvocation實例使用命名模式來調用,在調用Action的過程前后,涉及到相關攔

械器(Intercepter)的調用。

8、一旦Action執行完畢,Actioninvocation負責根據struts.xnil中的配置找到對應的返回

結果。返回結果通常是(但不總是,也可能是另外的一個Action鏈)一個需要被表示的

JSP或者FreeMarker的模版。在表示的過程中可以使用Slruts2框架中繼承的標簽。在這

個過程中需要涉及到ActionMappcr

簡述spring的事務傳播行為和隔離級別

25.寫一段把本地文件formfile拷貝到本地文件(oiile的程序

publicclassChangeJtdToJava{

publicstaticvoidmain(String[]args){

Filedir=newFile("f:/jld");

//得到d:/jtd下的所有文件對象

File[]files=dir.listFiles();

for(Filefile:files){

StringfileName=file.getName();//得到文件名

intindex=fileName.indexOf(".");〃.的索引位置

StringfileName?=fileName.substring(O,index);//不帶后綴名的文件名

StringhouZui=fileName.substrinxg(index);

if(houZui.equals(".jtd")){

//"f:/java/"+fileName2+".java"

//要移到的地方

file.renameTo(newFile("f:/java/"+fileName2+".java"));

I

)

}

26.寫出刪除表中重復記錄的語句oracle

deletefrompeople

wherepeopleldin(selectpeopleldfrompeoplegroupbypeopleldhaving

count(peopleld)>1)androwidnotin(selectmin(rowid)frompeoplegroupby

27.用java實現一種排序,java類實現序列化的方法(二種)?如在collection框架中,要實現什么樣

的接口

java.io.Serializable接口Collection框架中實現比較要實現Comparable接口和

Comparator接口

28.Struts2是如何實現攔截器的?

Struts2攔截器是在訪問某個Action或Action的某個方法,字段之前或之后實施攔截,

并且Struts2攔截器是可插拔的,攔截器是A0P的一種實現。實現原理:當請求siruts2

的action時,Slnils2會查找配置文件,并根據其配置實例化相對的攔截器對象,

然后串成一個列表,最后一個一個地調用列表中的攔截器

29.sleep。和wait。區別

sleep是線程類(Thread)的方法,導致此線程暫停執行指定時間,給執行機會給其他

線程,但是監控狀態依然保持,到時后會自動恢復。調用sleep不會釋放對象鎖。wait。.

會釋放鎖

3O.Servlet的生命周期分為5個階段:?和CGI的區別?

實例化:Servlet容器創建Servlet類的實例。

初始化:該容器調用iMt()方法,通常會申請資源。

服務:由容器調用service。方法,(也就是doGet()和doPost())。

破壞:在釋放Servlet實例之前調用destroy。方法,通常會釋放資源。

31.foward和redirect區另。

redirect就是服務端根據邏輯,發送一個狀態碼,告訴瀏覽器重新去請求那個地址,一般來

說瀏覽器會用剛才請求的所有參數重新請求,所以session,requesl參數都可以獲取。web

應用程序會要求客戶端瀏覽器重新發出請求地址,客戶端會重新連接至所指定的地址,

因此瀏覽器的地址會出現重新導向的信息,重新導向后的請求由瀏覽器發出,所以不能

訪問Web應用程序中的隱

32.多線程、同步實現方法?

實現線程有兩種繼承Thread類或者實現Runnable接口…實現同步也有兩種,一種是用

同步方法,一種是用同步塊..同步方法就是在方法返回類型后面加.上synchronized,比

如:

publicvoidsynchronizedadd(){...}

同步塊就是直接寫:synchronized(這里寫需要同步的對象){...}

33.集合類有哪些?有哪些方法?

集合類ArrayLislLinkedListHashSetHashMap方法:

add(),remove(),put(),addAll(),removeAll()

34.java中實現多態的機制是什么

重寫,重載

35.靜態的多態和動態的多態的區別

靜態的多態:方法名相同,參數個數或類型不相同。(overloading)

動態的多態:子類覆蓋父類的方法,將子類的實例傳與父類的引用調用的是子類的方法

實現接口的實例傳與接口的引用調用的實現類的方法。

36.作用域Public,private,protected似及不寫時的區別

public整個java程序中郛可以訪問

protected在其他包中不可以詢問

friendly只有當前包或當前內可以訪問,其他都不行

private只有當前內可以訪問

不寫的話默認是protected

37.extends和implement的彳、同

extends是繼承父類,只要那個類不是聲明為final或者那個類定義為abstract的就能繼

承,JAVA中不支持多重繼承,但是可以用接口來實現,這樣就要用到implements,繼

承只能繼承一個類,但implements可以實現多個接口,用逗號分開就行了比如class

AextendsBimplementsC,D,E

38.常用的設計模式?定義一個變量,Varv=ncwObject.用js編寫的簡便寫法是什么?join

與leftjoin的區另I]

DAO設計模式與DELEGATE模式

適配器模式與橋梁模式的區別

工廠模式

innerjoin:內連接查詢操作列出與連接條件匹配的數據行,它使用比較運算符比較被連接列

的列值

leftjoin:內連接時,返回查詢結果集合中的僅是符合查詢條件(WHERE搜索條件

或HAVING條件)和連接條件的行。而采用外連接時,它返回到查詢結果集合中的不僅包含

符合連接條件的行,而且還包括左表(左外連接時)、右表(右外連接時)或兩個邊接表(全外連

接)中的所有數據行

39.Hibernale中離線查詢與在線查詢的區別

Criteria和DetachedCriteria的主要區別在于創建的形式不一樣,Criteria是在線的,

所以它是由HibernateSession進行創建的;而DetachedCriteria是離線的,創建時無

需Session,DetachedCriteria提供了2個靜態方法forClass(Class)或

forEntityName(Narne)進行DetachedCriteria實例的創建。

40.C#數據類型有哪些?

int整型double雙精度型string字符串型char字符型bool布爾型

41.抽象類能否被實例化

抽象類通常不是由程序員定義的,而是由項目經理或模塊設計人設計抽象類的原因通

常是為了規范方法名抽象類必須要繼承,不然沒法用,作為模塊設計者,可以把讓底

層程序員直接用得方法直接調用,而一些需要讓程序員覆蓋后自己做得方法則定義稱抽

象方法

42.ASP.NET頁面傳遞值的方式有哪些

1通過URL鏈接地址傳遞2通過post方式。

send.aspx3通過session4通過Application

5通過Server.Transfersend.aspx:

43.如何定義一個窗口為MDI窗口?

MDI窗口就是說一個窗體做為容器,里面還可以添加其他窗體

44.WCF是什么?

WCF是微軟用以應對SOA解決方案的開發需求而專門推出的是專門用丁?服務定制、

發布與運行以及消息傳遞和處理的一組專門類的集合,也就是所謂的“類庫

45.常用的包,類,接口,各舉5個。

類StringIntegerLongFileDate包java.lang.*;java.io.*;java.util.*;java.swt.*;

java.malh.*;接口:Comparable,Connection,Map,List,Runable,

46.

1,網上購物系統的類圖,用例圖。

2,給你一個整數類型的數組,按從小到大的順序進行排列!

publicstaticvoidfun(int[]a,intc)

(

for(in(i=O;i<a.lenglh-l;i++)

for(intj=i;j<a.length-l;j++)

if(ali]<a|j])

(

t=a[i];

a[i]=a[jl;

1

)

Syslem.oul.prinl(a[i]+"");

}

}

食詢出M頁的N行數據。

SelecttopNfromtablewhereidnotin(selecttop(M-1)*Nidfromtable)

l.linkedlistarraylist內部是如何實現的newArrayLisl(lO)含義

47.面向對象主要內容?有什么作用?

就分析設計層面來說,面向對象技術提供了更高級的抽象能力以及更多的方法和工具,

如設計模式;就實現維護層面來說,面向對象技術使代碼重用更容易,且使代碼具有

可擴展性,便于軟件的維護和升級更新。

49.如何移動一個數是62-63=1成立

62-63=1如何移動2的6次方等于642的6次方-63=1把2移動到6的左下方

5O.JavaSQL2005導入importdata數據源例如有Oracle中的blob字段是否要用ole驅動、遞

歸實現1,123,5,8,….第30個數是多少?

publicstaticintFoo(inti)

(

if(i<=0)

return0;

elseif(i>0&&i<=2)

return1;

elsereturnFoo(i-1)+Foo(i-2);

I

inti=Foo(30);

System.out.println(i);

51.JAVA實現向數據庫添加一列

Connectioncon=null;

ResultSetrs=null;

Class.forName("coin.microsoft.jdbc.sqlserver.SQLServerDriver");

Siringurl="jdbc:inicrosof(:sqlserver://localhost:1433;DaiabaseName=db_name";

Connectioncon=DriverManager.getConnection(url,

StaleManagersm=con.creaieStateMent();

Stringsql="insertableintovalues("aa","bb")";

rs=sm.excute(sql);

52.寫出刪除表中重復記錄的語句oracle

deletefrompeople

wherepeopleldin(selectpeopleldfrompeoplegroupbypeopleldhaving

count(peopleld)>1)androwidnotin(selectmin(rowid)frompeoplegroup

1:用什么方法使服務器關閉之后,session所保存的信息不會丟失?

使用cookie

2:如果頁面沒有標簽,會出現什么錯誤代碼?

沒有什么變化

3:抽象類是否可以沒有拍象方法?為什么?

可以在java中用abstract關鍵字來修飾一個類時,這個類叫做抽象類。

抽象類中不一定要包含abstract方法,但一個類中包含了abstract方法,則這個類必須

聲明為abstract類。

4:servlet中的init方法什么時候被調用?

容器首次創建實例的時候

53.用4個0,用你所知道的數學方法計算出24

。的階乘等于1即0!=1那么4個。就是4了

又4的階乘為244!=24

54.1inux中進程的杳看和調度分別用什么命令?

ps-A查看renicetop

55.sleep()和wait區別

sleep是線程類(Thread)的方法,導致此線程暫停執行指定時間,給執行機會給其他線程,

但是監控狀態依然保持,到時后

56.集合類有哪些?有哪些方法?

集合類ArrayListLinkedListHashSetHashM叩方法:

add(),remove(),pul(),addAll(),removeAII()

57.OSI七層模型tep四層模型是什么樣的

OSI七層參考模型:物理層、數據鏈路層、網絡層、傳輸層、應用層、會話層、表示層

TCP/IP:第一層網絡接口層第二層第二層??網間層第三層??傳輸層第四層??應用層

58.JAVA測試模式(ZZ):

模式(一)Main模式

模式(二)toString模式

模式(三)Equal模式

模式(四)InternalTesterClass模式

模式(五)ExternTesterCiass模式

60.一學生表!有班及id,學號!成績!一求平均成績!二求比平均成績高的學生的所有信

selectid,avg(成績)fromtablegroupbyid

select*fromtablewhere成績>(select成績from(selectid,avg(成績)成績fromtable

groupbyid)asa)

61.jdk的新特性

“JDK1.5”的一個重要主題就是通過新增一些特性來簡化開發,這些特性包括泛型,for-each

循環,自動裝包/拆包,枚舉,可變參數,靜態導入。使用這些特性有助于我們編寫更加

清晰,精悍,安全的代碼,

62.j2cc的規范?

SUN公司定義的一個開發分布式企業級應用的規范。它提供了一個多層次的分布式應用模

型和?系列開發技術規范,多層次分布式應用模型是指根據功能把應用邏輯分成多個層次,

每個層次支持相應的服務器和組件,組件在分布式服務器的組件容器中運行(如Servlet組

件在Servlet容器上運行,EJB組件在EJB容器上運行),容器間通過相關的協議進行通訊,

實現組件間的相互調用J2EE規范定義了以下四個層次。I.客戶端層(ClientTier)2.W?b層

3.業務層(BusinessTier)4.企業信息系統層

63.ajax的工作原理?

Ajax基本上就是把JavaScript技術和XMLHttpRequest對象放在Web表單和服務器之間。當用戶

填寫表單時,數據發送給一些JavaScript代碼而不是直接發送給服務器。相反,JavaScript代碼捕獲

表單數據并向服務器發送請求。同時用戶醉幕上的表單也不會閃爍、消失或延遲。換句話說,JavaScript

代碼在幕后發送請求,用戶甚至不知道請求的發出。更好的是,請求是異步發送的,就是說JavaScript

代碼(和用戶)不用等待服務器的響應。因此用戶可以繼續輸入數據、滾動屏幕和使用應用程序。

然后,服務器將數據返回JavaScript代碼(仍然在Web表單中),后者決定如何處理這些數據。它

可以迅速更新表單數據,讓人感覺應用程序是立即完成的,表單沒有提交或刷新而用戶得到了新數據。

JavaScript代碼甚至可以對收到的數據執行某種計算,再發送另一個請求,完全不需要用戶干預!這就是

XMLHttpRequest的強大之處。它可以根據需要自行與服務器進行交互,用戶甚至可以完全不知道幕后

發生的?切。結果就是類似于桌面應用程序的動態、快速響應、高交互性的體驗,但是背后又擁有互聯網

的全部強大力量。

64.Xml特點?

65.oracle中除了數據庫備份,還有什么方法備份?

66.j2ee的常用設計模式

Factory(工廠模式),Builder(建造模式)fFacloryMethod(工廠方法模式),Prototype(原

始模型模式),Singleton(單例模式),Facade(門面模式),Adapter(適配器模式),Bridge

(橋梁模式)

67.由aaa字符串得到1000個a寫個程序

StringBuildersBuilder=newStringBuilder();

for(inti=O;i<333;i++){

sBuilder.Append("aaa");

sBuilder.Append("aaa".subS(ring(0.1));

68.servlet與cgi的區別

CGI應用開發比較困難,因為它要求程序員有處理參數傳遞的知識,這不是一種通用的技能。

CGI不可移植,為某一特定平臺編寫的CGI應用只能運行于這一環境中。每一個CGI應用

存在于一個由客戶端請求激活的進程中,并且在請求被服務后被卸載。這種模式將引起很高

的內存、CPU開銷,而且在同一進程中不能服務多個客戶。

Servlet提供了Java應用程序的所有優勢一一可移植、穩健、易開發。使用ServlelTag技術,

Servlet能夠生成嵌于靜態HTML頁面中的動態內容

Servlet對CGI的最主要優勢在于一個Servlet被客戶端發送的第一個請求激活,然后它將繼

續運行于后臺,等待以后的請求。每個請求將生成?個新的線程,而不是一個完整的進程。

多個客戶能夠在同一個進程中同時得到服務。一般來說,Servlel進程只是在WebServer卸

載時被卸載

69.SOCKET中有幾中連接方式,區別?

Sockets有兩種主要的操作方式:面向連接的和無連接的。無連接的操作使用數據報協議,無

連接的操作是快速的和高效的,但是數據安全性不佳.面向連接的操作使用TCP協議.面向連

接的操作比無連接的操作效率更低,但是數據的安全性更高

70.Socket如何獲取本地ip地址?

publicInetAddressgctLocal/\ddrcss()

71.truncate與delete的區別?

truncate是DDL^言.delete是DML言吾言DDL言吾言是白勤提交的.命令完成就不可回

海truncate的速度也比delete要快得多.

72.xml有哪些解析技術,及區別?

有DOM,SAX,STAX等

DOM:處理大型文件時其性能下降的非常厲害。這個問題是由D0M的樹結構所造成的,這

種結構占用的內存較多,而且DOM必須在解析文件之前把整個文檔裝入內存,適合對XML

的隨機訪問SAX:不現于DOM,SAX是事件驅動型的XML解析方式。它順序讀取XML文

件,不需要一次全部裝載整個文件。當遇到像文件開頭,文檔結束,或者標簽開頭與標簽結

束時,它會觸發一個事件,用戶通過在其回調事件中寫入處理代碼來處理XML文件,適

合對XML的順序訪問

73.文件和目錄(i/。)操作,怎么列出某目錄下所有文件?某目錄下所有子目錄,怎么判斷文件

或目錄是否存在?如何讀寫文件?

列出某目錄下所有文件:調用listFileO,然后判斷每個File對象是isFile還是isAbstracte(),

判斷文件或目錄是否存在:調用exist方法,讀寫文件使用FileReader和FileWritcr兩個類

即可

74.deletefromtablea和truncatetabletablea的區別!

這里說的delete是指不帶where子句的delete語句

相同點:truncate和不帶where子句的delete,以及drop都會刪除表內的數據

不同點:

1.truncate和delete只刪除數據不刪除表的結構(定義)

drop語句將刪除表的結構被依賴的約束(constrain],觸發器(trigger),索引(index);依賴

于該表的存儲過程/函數將保留,但是變為invalid狀態.

2.delete語句足dml,這個碟作會放到rollbacksegement中,事務提交之后才生效;如果芍相

應的trigger,執行的時候將被觸發.

truncate,drop是ddl,操作立即生效,原數據不放到rollbacksegment中,不能回滾.操作

不觸發trigger.

3.delete語句不影響表所占用的extent,高水線(highwatermark)保持原位置不動

顯然drop語句將表所占用的空間全部釋放

truncate語句缺省情況下見空間釋放到minextents個extent,除非使用reusestorage;

truncate會將高水線復位(回到最開始).

4.速度,一般來說:drop>truncate>delete

5.安全性:小心使用drop和truncate,尤其沒有備份的時候.否則哭都來不及

使用上,想刪除部分數據行用delete,注意帶上where子句.回滾段要足夠大.

想刪除表,當然用drop

想保留表而將所有數據刪除.如果和事務無關,用truncate即可.如果和事務有關,或者想觸

發trigger,還是用delete.

75.怎么用java反射得到一個類的私有方法?

PrivateTesi1=Class.forName(ncoin.test.PrivateTest").newInstance();

Methodmethod2=Class.forNanie("com.test.PrivateTest").getDeclaredMetliod("method",new

Class[]]});

method2.setAccessible(true);

mcthod2.invoke(t,newObject[]{));

76.寫一個單例模式?描述工廠模式和單例優缺點舉例在什么情況下用

簡單工廠模式能夠根據外界給定的信息,決定究竟應該創建哪個具體類的對象。通

過它,外界可以從直接創建具體產品對象的尷尬局面中擺脫出來。

外界與具體類隔離開來,偶合性低。

?明確區分了各自的職責和權力,有利于整個軟件體系結構的優化。

缺點:工廠類集中了所有實例的創建邏輯,容易違反GRASPR的高內聚的責任分配原則

雖然簡單工廠模式能夠適應一定的變化,但是它所能解決的問題是遠遠有限的。它所能

創建的類只能是事先教考慮到的,如果需要添加新的類,則就需要改變工廠類了。(這

個問題在工廠方法模式將得到很好的解決)

應用情景工廠類負責創建的對象比較少客戶只知道傳入了工廠類的參數,對于始何

創建對象(邏輯)不關心

77.JVM加載class文件原理?

JVM中類的裝載是由ClassLoader和它的子類來實現的JavaClassLoader是一個重要的Java

運行時系統組件。它負責在運行時查找和裝入類文件的類ClassLoader其實就是讀取文

件,按照CLASSPATH配置的順序。然后解析后轉化為類

78.Tomcat的class加載的優先順序一覽

1.最先HOME/jre/lib/ext/下的jar文件。2.環境變量CLASSPATH中的jar和class文

3.$CATALINA_HOME/common/classes下的class文件。

4,$CATALINA_HOME/cominons/endorsed下的jar文件《

5.$CATALINA_HOME/commons/i18n下的jar文件。6.SCATALINA_HOME/common/lib下的

jar文件。

(JDBC驅動之類的jar文件可以放在這里,這樣就可以避免在server.xml配置好數據源卻出

現找不到JDBCDriver的情況。)

7.SCATALINA_H0ME/server/classes下的class文件。

8.SCATALINA_HOME/server/lib/T的jar文件。

9.$CATALINA_BASE/shared/classes下的class文件。

10.$CATALINA_BASE/shared/lib下的jar文件。

11.各自具體的webapp/WEB-INF/classes下的class文件。

12各自具體的webapp/WEB-INF/lib下的jar文件。

79.CS與BS聯系區別

java適合開發bs結構,cs不是它的強項C/S服務器通常采用高性能的PC、工作站或小型

機,并采用大型數據庫系統,如Oracle、Sybase、Infonnix或SQLServero客戶端需要安裝

專用的客戶端軟件。B/S客戶機上只要安裝一個瀏覽器(Browser),$riInternetExplorer,服

務器安裝Oracle、Sybase、Infonnix或SQLServer等數據庫。在這種結構卜,用戶界面完全

通過WWW瀏覽器實現,一部分事務邏輯在前端實現,但是主要事務邏輯在服務器端實現。

瀏覽器通過WebServer同數據庫進行數據交互1.硬件環境不同:C/S一般建立在專用的

網絡上,小范圍里的網絡環境,局域網之間再通過專門服務器提供連接和數據交換服務.

B/S建立在廣域網之上的

2.對安全要求不同C/S一般面向相對固定的用戶群,對信息安全的控制能力很強.一般高

度機密的信息系統采用C/S結構適宜.可以通過B/S發布部分可公開信息.B/S建立在廣

域網之上,對安全的控制能力相對弱,可能面向不可知的用戶

3.對程序架構不同C/S程序可以更加注重流程,可以對權限多層次校驗B/S對安全以

及訪問速度的多重的考慮.建立在需要更加優化的基礎之上

8().Error和exception的區別與聯系

error表示恢復不是不可能,但很困難的情況下的一種嚴重問題。比如說內存溢,網絡故障等。

不可能指望程序能處理的情況。

exception表示一種設計或實現問題。也就是說,它表示如果程序運行正常,就不會發生的

情況。程序可以捕獲到這些異常,并進行處理。

81.在編寫頁面的會用到哪些技術??

手寫個程序在本頁面中心彈出一個窗體,里面有學生的成績,可以修改學生的成績,并

且可以關閉窗口,把每個要用的jsp頁面顯示出來。(用JavaScript)

82.用main涵數輸出一到一百的和。

#include<stdio.h>

intmain(){

printf("sum:%d\n",sum());

return0;

intsum(){

inti;

intsum=0;

for(i=1;i<=100;i++)

sum+=i;

returnsum;

83.查一下每門課程都大于80的學生姓名

學生表student分數表grade

selectfromstudentswheres.idnoin(selectg.studenridfromgradegwhereg.marks<=80)

select*fromstudentwherenamein(selectnamefromstudent

wherenamelike'張%'groupbynamehavingavg(score)>75)

84.LIUNIX如何查看CPUJP,內存?

Isattr-EImemo查看內存的

/sbin/ifeong查看IP的

85J2EE系統訪問速度慢.從哪些方面可以優化

J2EE性能的優化包括很多方面的,要達到一個性能優良的系統,除了關注代碼之外,還應該根

據系統實際的運行情況,從服務器軟硬件環境、集群技術、系統構架設計、系統部署環境、數

據結構、算法設計等方面綜合考慮

86.J2EE訪問速度慢,怎么樣優化

I使用緩沖標記對于代碼邏輯復雜的頁面,利用緩沖標記提高性能的效果比較明顯;反之,效

果可能略遜一籌。2始終通過會話Bean訪問實體Bean

一些時候,使用實體Bean會導致程序性能不佳。如果實體Bean的惟一用途就是提取和更新數據,

改成在會話Bean之內利用JDBC訪問數據庫可以得到更好的性能3選擇合適的引用機制

4在部署描述器中設置只讀屬性實體Bean的部署描述器允許把所有get方法設置成“只讀”。

當某個事務單元的工作只包含執行讀取操作的方法時,設置只讀屬性有利于提高性能,因為

容器不必再執行存儲操作5緩沖對EJBHome的訪問

87.haShtable的原理

原理:通過節點的關鍵碼確定節點的存儲位置,即給定節點的關健碼k,通過一定的函數關系H(散

列函數),得到函數值H(k),將此值解釋為該節點的存儲地址

88.siruls中的prepare怎么用?

prepare是在validate攔截器之前執行

<s:checkboxlistlis(="users"listKey="id"lislValue="name"name="userid"x/s:checkboxlist>

在使用struts?checkboxlist,select綁定list時,有時候會出現以下異常

Therequestedlistkey'users'couldnotberesolvedasacollection/array/rnap/enumeration/iteratortype.

Example:peopleorpeople.{name}-[unknownlocation]這樣的錯誤。是因為list的值為空

3.解決辦法是把初始化list的工作放到prepare攔截器中

publicclassRoleActionextendsActionSupportimplementsPreparable{

@Overridc

publicvoidprepare()throwsException{

〃初始化list

89.C#題目conetextmenu控件如何使用..listview

ConiexlMenu組件提供與選定對象相關的常用命令的菜單。可以通過向Menuitems集合中

添加Menultem對象來向快捷菜單中添加項。可以從快捷菜單中永久地移除頂:但是在運

行時隱藏或禁用項可能更為妥當。

90.寫一條SQL語句,查詢姓張學生中平均成績大于75的學生信息

select*fromstudentwherenamein(selectnamefromstudent

wherenamelike'張%'groupbynamehavingavg(score)>75)

91.從以下方面比較slnHl和siru⑵線程模式、依賴、可測性、表達式語言、捕獲輸入、綁釘

值到頁面、類型轉換

線程模式:Struts1Action是單例模式并且必須是線程安全的,因為僅有Action的一個實例

來處理所有的請求。單例策略限制了StnitslAction能作的事,并且要在開發時特別小心。

Action資源必須是線程安全的或同步的。

?Stnits2Action對象為每一個請求產生一個實例,因此沒有線程安全問題。(實際上,servlel

容器給每個請求產生許多可丟棄的對象,并且不會導致性能和垃圾回收問題)

Servlel依賴:

?Struts1Action依賴于ServletAPI,因為當?個Action被調用時HttpServletRequest和

HttpServleiResponse被傳潴給execule方法。

,Struts2Action不依賴于容器,允許Action脫離容器單獨被測試。如果需要,Struts2Action

仍然可以訪問初始的request和response,,但是,其他的元素減少或者消除了直接訪問

HttpServetRequest和HttpSenletResponse的必要性。

可測性:

?測試Struts1Action的一個主:要問題是execute方法暴露\servletAPI(這使得測試要依賴

于容器)。一個第三方擴展StrutsTestCase提供了一套Strutsl的模擬對象(來進行測

試)。

?Struts2Action可以通過初始化、設置屬性、調用方法來測試,“依賴注入”支持也使測試

更容易。

捕獲輸入:

?StrutsI使用ActionForm對象捕獲輸入。所有的ActionForm必須繼承一個基類。因為其

他JavaBean不能用作ActionForm,開發者經常創建多余的類捕獲輸入。動態Bean

(DynaBcans)可以作為創建傳統ActionForm的選擇,但是,開發者可能是在重新描述(創

建)己經存在的JavaBean(仍然會導致有冗余的javabean)。

?Struts2直接使用Action屬性作為輸入屬性,消除了對第二個輸入對象的需求。輸入屬性

可能是有自己(子)屬性的rich對象類型。Action屬性能夠通過web頁面上的(aglibs訪問。

Struts2也支持ActionFomi模式。rich對象類型,包括業務對象,能夠用作輸入/輸出對象。

這種ModelDriven特性簡化了taglib對POJO輸入對象的引用。

表達式語言:

?Struts1整合了JSTL,因此使用JSTLEL。這種EL有基本對象圖遍歷,但是對集合和索

引屬性的支持很弱。

?Struts2可以使用JSTL,但是也支持一個更強大和靈活的表達式語言一一"ObjectGraph

NotationLanguage"(OGNL).

綁定值到頁面(view):

?StrutsI使用標準JSP機制把對象綁定到頁面中來訪問。

,Struts2使用"ValueSttck"技術,使taglib能夠訪問值而不需要把你的頁面(view)和對

象綁定起來。ValueStack策略允許通過一系列名稱相同但類型不同的屬性重用頁面(view)。

類型轉換:

,Struts1ActionForm屬性通常都是String類型。Struts1使用Commons-Beanutils進行類型

轉換。每個類一個轉換器,對每一個實例來說是不可配置的。

?Struts2使用OGNL進行類型轉換。提供基本和常用對象的轉換器。

92.struts的工作原理可分為如下8步。

1.讀取配置(初始化ModuleConfig對象)

Struts框架總控制器(ActionServlet)是一個Servlet,在web.xml中被配置成一個自

動啟動的Servlel。讀取配置文件sl「uls-cor】ng.xml的配置信息,為不問的SUuls模塊

初始化相應的ModuleConfig對象。

2.用戶請求

用戶提交表單或調用URL向WEB應用程序服務器提交一個請求,請求的數據用HTTP協

議上傳給WEB服務器。

3.填充FormBean

(*.do請求)從ActionConfig中找出對應該請求的Action子類,如有對應的Action且

這個Action又個相應的ActionForm,ActionForm被實例化并用HTTP請求的數據填

充其屬性,并保存在ServletContext中,這樣他們就可以被其它Action對象或JSP調用。

如果沒有對應的Action,控制器則直接轉發給JSP或靜態頁面。

4.派發請求

控制器根據配置信息A

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論