




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.hibernate中離線查詢?nèi)コ貜?fù)項(xiàng)怎么加條件?
dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
2.http協(xié)議及端口,smtp協(xié)議及端口
http:超文本傳輸協(xié)議端口80
smtp:簡(jiǎn)單郵件傳輸協(xié)議端口25
3.編寫程序,完成文件復(fù)制功能
4.Servlet創(chuàng)建過(guò)程及生命周期Servlet在容器中運(yùn)行時(shí),其實(shí)例的創(chuàng)建及銷毀等是由容器進(jìn)行控制。
Servlet的創(chuàng)建有兩種方法。
1).客戶端請(qǐng)求對(duì)應(yīng)的Servlet時(shí),創(chuàng)建Servlet實(shí)例;大部分Servlet都是這種Servlet。
2).通過(guò)在web.xml中設(shè)置load-on-startup來(lái)創(chuàng)建servlet實(shí)例,這種實(shí)例在Web應(yīng)用啟動(dòng)時(shí),立即
創(chuàng)建Servlet實(shí)例
Servlet的運(yùn)行都遵循如下生命周期:
1).創(chuàng)建Servlet實(shí)例。
2).Web容器調(diào)用Servlet的init()方法,對(duì)Servlet進(jìn)行初始化。
3).Servlet初始化后,將一直存在于容器中,用于響應(yīng)客戶端請(qǐng)求。根據(jù)客戶端的請(qǐng)求方式通過(guò)Servlet
中service()方法去相應(yīng)的doXXX()方法;
4).Web容器銷毀Servlet時(shí),調(diào)用Servlet的destroy()方法,通常在關(guān)閉Web容器之時(shí)銷毀
Servlet。
5.用sql語(yǔ)句分頁(yè):
Mysql數(shù)據(jù)庫(kù):
SELECTTOP頁(yè)大小*FROMtable1WHEREidNOTIN(
SELECTTOP頁(yè)大小*(頁(yè)數(shù)-1)idFROMtable1ORDERBYid
)ORDERBYid
Oracle數(shù)據(jù)庫(kù):
在ORACLE大數(shù)據(jù)量下的分頁(yè)解決方法。一般用截取ID方法,還有是三層嵌套方法。
截取ID的方法
select*fromempa,(selectempno,rownumasnumfromemp)bwherea.empno=b.empnoandb.numbetween5and7;
三層嵌套
SELECT*FROM(SELECTA.*,rownumrFROM(SELECT*FROMemp)AWHERErownum<=7)BWHEREr>5;
6.list.map.set的存儲(chǔ)特點(diǎn)?
List以特定次序來(lái)持有元素,可有重復(fù)元素.
Set無(wú)法擁有重復(fù)元素,明為final的。將變量或方法聲明為final,可以保證它們?cè)谑褂弥胁槐桓淖?。被聲明為final的變量必須在聲明時(shí)給定初值,而在以后的引用中只能讀取,不可修改被聲明為final的方法也同樣只能使用,不能重載。
finally—再異常處理時(shí)提供finally塊來(lái)執(zhí)行任何清除操作。如果拋出一個(gè)異常,那么相匹配的catch子句就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入finally塊(如果有的話)。
finalize—方法名。Java技術(shù)允許使用finalize()方法在垃圾收集器將對(duì)象從LinkedList采用的將對(duì)象存放在獨(dú)立的空間中,而且在每個(gè)空間中還保存下一個(gè)鏈接的索引但是缺點(diǎn)就是查找非常麻煩要叢第一個(gè)索引開始
2).ArrayList和Vector都是用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)要大于實(shí)際的存儲(chǔ)空間以便進(jìn)行元素增加
和插入操作,他們都允許直接用序號(hào)索引元素,但是插入數(shù)據(jù)元素涉及到元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢.
3).Vector使用了sychronized方法(線程安全),所以在性能上比ArrayList要差些.
4).LinkedList使用雙向鏈表方式存儲(chǔ)數(shù)據(jù),按序號(hào)索引數(shù)據(jù)需要前向或后向遍歷數(shù)據(jù),所以索引數(shù)據(jù)慢,是
插入數(shù)據(jù)時(shí)只需要記錄前后項(xiàng)即可,所以插入的速度快.
10.HASHMAP,HASHTABLE區(qū)別
1.Hashtable是Dictionary的子類,HashMap是Map接口的一個(gè)實(shí)現(xiàn)類;
2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情況下是非同步的。
3.在HashMap中,null可以作為鍵,這樣的鍵只有一個(gè);可以有一個(gè)或多個(gè)鍵所對(duì)應(yīng)的值為null。
11..描述Cookie和Session的作用,區(qū)別和各自的應(yīng)用范圍,Session工作原理
Session用于保存每個(gè)用戶的專用信息.每個(gè)客戶端用戶訪問時(shí),服務(wù)器都為每個(gè)用戶分配一個(gè)唯一的會(huì)話ID(SessionID).她的生存期是用戶持續(xù)請(qǐng)求時(shí)間再加上一段時(shí)間(一般是20分鐘左右).Session
中的信息保存在Web服務(wù)器EE是什么意思?Struts的攔截器你是怎么做的,是獨(dú)立開發(fā)的,能
夠獨(dú)立開發(fā)的到。然后問有哪幾種攔截?
Java2Platform,EnterpriseEdition
繼承AbstractInterceptor類,覆蓋intercept()方法
有struts自己的攔截器如timer,i18n,scop,servletconfig,token
還有自定義攔截器
15.簡(jiǎn)單介紹下java?Spring的AOP,IOC的講述對(duì)struts2的了解,1,2的比較xml的了解J2ee的
webserviced的協(xié)議?
SpringAOP:代理機(jī)制Spring提供的自動(dòng)代理機(jī)制
Spring的IoC來(lái)實(shí)組件之間的依賴關(guān)系注入,使控制層與業(yè)務(wù)實(shí)現(xiàn)分離,即客戶通過(guò)
調(diào)用業(yè)務(wù)委托接口來(lái)調(diào)用具體的業(yè)務(wù)組件的實(shí)例,避免控制層與業(yè)務(wù)層的藕合帶來(lái)的維護(hù)
或升級(jí)困難。由Spring為DAO生成代理對(duì)象來(lái)為DAO添加事務(wù)服務(wù),由IoC容器DAO的代理實(shí)例注入到業(yè)務(wù)組件中,業(yè)務(wù)組件通過(guò)DAO的委托接口調(diào)用DAO對(duì)象,使得上層組件不直接依賴于DAO的實(shí)現(xiàn)類,使得持久層更換或修改不影響上層組件。
16.Collections,collection的區(qū)別
Collection是個(gè)java.util下的接口,它是各種集合結(jié)構(gòu)的父接口。Collections是個(gè)java.util下的普通類,它包含有各種有關(guān)集合操作的靜態(tài)方法。Collections是針對(duì)集合類的一個(gè)幫助類,它提供一系列的靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的搜索,排序,線程安全化等操作
17.如何釋放過(guò)度使用的undo表空間
1.啟動(dòng)SQLPLUS,并用sys登陸到數(shù)據(jù)庫(kù)。2.查找數(shù)據(jù)庫(kù)的UNDO表空間名3.確認(rèn)UNDO表空間;SQL>selectnamefromv$tablespace;4.檢查數(shù)據(jù)庫(kù)UNDO表空間占用空間情況以及數(shù)據(jù)文件存放位置;5.查
看回滾段的使用情況,哪個(gè)用戶正在使用回滾段的資源,如果有用戶最好更換時(shí)間6.檢查UNDOSegment狀態(tài)
18.數(shù)據(jù)庫(kù)里面游標(biāo),索引是怎么用的?在oracle數(shù)據(jù)庫(kù)中,用get和load方法這2個(gè)方法來(lái)查沒有的數(shù)
據(jù)那么分別會(huì)反饋什么樣的結(jié)果?
declarecurcursorkeysetfor
get返回null,loadclassnotfoundException
19..在Oracle中數(shù)據(jù)庫(kù)中的一個(gè)表中,這個(gè)表沒有主鍵id也沒有特定標(biāo)示來(lái)查數(shù)據(jù),怎么查?
rowid
20.簡(jiǎn)述private、proteced、public、internal修飾符的訪問權(quán)限
同一個(gè)類同一個(gè)包不同包的子類不同包非子類
private*
default**
protected***
public****
21.概述反射和序列化
Reflection是Java被視為動(dòng)態(tài)(或準(zhǔn)動(dòng)態(tài))語(yǔ)言的一個(gè)關(guān)鍵性質(zhì)。這個(gè)機(jī)制允許程序在運(yùn)行時(shí)透過(guò)ReflectionAPIs取得任何一個(gè)已知名稱的class的序列化就是一種用來(lái)處理對(duì)象流的機(jī)制,所謂對(duì)象流也就是將對(duì)象的ORACLE中not和and和or優(yōu)先級(jí)由高到低?
notandor
24.java是如何進(jìn)行異常處理的
Java通過(guò)面向?qū)ο蟮姆椒ㄟM(jìn)行異常處理,把各種不同的異常進(jìn)行分類,并提供了良好的接口。在Java中,每個(gè)異常都是一個(gè)對(duì)象,它是Throwable類或其它子類的實(shí)例。當(dāng)一個(gè)方法出現(xiàn)異常后便拋出一個(gè)異常對(duì)象,該對(duì)象中包含有異常信息,調(diào)用這個(gè)對(duì)象的方法可以捕獲到這個(gè)異常并進(jìn)行處理。Java的異常處理是通過(guò)5個(gè)關(guān)鍵詞來(lái)實(shí)現(xiàn)的:try、catch、throw、throws和finally。一般情況下是用try來(lái)執(zhí)行一段程序,如果出現(xiàn)異常,系統(tǒng)會(huì)拋出(throws)一個(gè)異常,這時(shí)候你可以通過(guò)它的類型來(lái)捕捉(catch)它,或最后(finally)由缺省處理器來(lái)處理
25.struts2必備包
commons-fileupload-1.2.1.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar
26.dao是什么及作用
dao是數(shù)據(jù)訪問對(duì)象DAO負(fù)責(zé)管理與數(shù)據(jù)源的連接來(lái)獲取和儲(chǔ)存其中的數(shù)據(jù)
27.ibatis中的#與$的區(qū)別在Ibatis中我們使用SqlMap進(jìn)行Sql查詢時(shí)需要引用參數(shù),在參數(shù)引用中遇到的符號(hào)#和$之間的區(qū)分為,#可以進(jìn)行與編譯,進(jìn)行類型匹配,而$不進(jìn)行數(shù)據(jù)類型匹配,例如:
select*fromtablewhereid=#id#,其中如果字段id為字符型,那么#id#表示的就是’id’類型,如果id為整型,那么#id#就是id類型。
select*fromtablewhereid=$id$,如果字段id為整型,Sql語(yǔ)句就不會(huì)出錯(cuò),但是如果字段id為字符型,那么Sql語(yǔ)句應(yīng)該寫成select*fromtablewhereid=‘$id$’
28.struts2的實(shí)現(xiàn)原理
1、客戶端初始化一個(gè)指向Servlet容器(例如Tomcat)的請(qǐng)求
2、這個(gè)請(qǐng)求經(jīng)過(guò)一系列的過(guò)濾器(Filter)(這些過(guò)濾器中有一個(gè)叫做ActionContextCleanUp的可選過(guò)濾器,這個(gè)過(guò)濾器對(duì)于Struts2和其他框架的集成很有幫助,例如:SiteMeshPlugin);
3、接著FilterDispatcher被調(diào)用,F(xiàn)ilterDispatcher詢問ActionMapper來(lái)決定這個(gè)請(qǐng)求是否需要調(diào)用某個(gè)Action;
4、如果ActionMapper決定需要調(diào)用某個(gè)Action,F(xiàn)ilterDispatcher把請(qǐng)求的處理交給ActionProxy;
5、ActionProxy通過(guò)ConfigurationManager詢問框架的配置文件,找到需要調(diào)用的Action類;
6、ActionProxy創(chuàng)建一個(gè)ActionInvocation的實(shí)例。
7、ActionInvocation實(shí)例使用命名模式來(lái)調(diào)用,在調(diào)用Action的過(guò)程前后,涉及到相關(guān)攔截器(Intercepter)的調(diào)用。
8、一旦Action執(zhí)行完畢,ActionInvocation負(fù)責(zé)根據(jù)struts.xml中的配置找到對(duì)應(yīng)的返回結(jié)果。返回結(jié)果通常是(但不總是,也可能是另外的一個(gè)Action鏈)一個(gè)需要被表示的JSP或者FreeMarker的模版。在表示的過(guò)程中可以使用Struts2框架中繼承的標(biāo)簽。在這個(gè)過(guò)程中需要涉及到ActionMapper
29.簡(jiǎn)述spring的事務(wù)傳播行為和隔離級(jí)別
spring的事務(wù)傳播行為:Spring在TransactionDefinition接口中規(guī)定了7種類型的事務(wù)傳播行為,它們規(guī)定了事務(wù)方法和事務(wù)方法發(fā)生嵌套調(diào)用時(shí)事務(wù)如何進(jìn)行傳播:
PROPAGATION_REQUIRED:如果當(dāng)前沒有事務(wù),就新建一個(gè)事務(wù),如果已經(jīng)存在一個(gè)事務(wù)中,加入到這個(gè)事務(wù)中。這是最常見的選擇。
PROPAGATION_SUPPORTS:支持當(dāng)前事務(wù),如果當(dāng)前沒有事務(wù),就以非事務(wù)方式執(zhí)行。
PROPAGATION_MANDATORY:使用當(dāng)前的事務(wù),如果當(dāng)前沒有事務(wù),就拋出異常。
PROPAGATION_REQUIRES_NEW:新建事務(wù),如果當(dāng)前存在事務(wù),把當(dāng)前事務(wù)掛起。
PROPAGATION_NOT_SUPPORTED:以非事務(wù)方式執(zhí)行操作,如果當(dāng)前存在事務(wù),就把當(dāng)前事務(wù)掛起。PROPAGATION_NEVER:以非事務(wù)方式執(zhí)行,如果當(dāng)前存在事務(wù),則拋出異常。
PROPAGATION_NESTED:如果當(dāng)前存在事務(wù),則在嵌套事務(wù)內(nèi)執(zhí)行。如果當(dāng)前沒有事務(wù),則執(zhí)行與PROPAGATION_REQUIRED類似的操作。
Spring的隔離級(jí)別
1、Serializable:最嚴(yán)格的級(jí)別,事務(wù)串行執(zhí)行,資源消耗最大;
2、REPEATABLEREAD:保證了一個(gè)事務(wù)不會(huì)修改已經(jīng)由另一個(gè)事務(wù)讀取但未提交(回滾)的數(shù)據(jù)。避免了“臟讀取”和“不可重復(fù)讀取”的情況,但是帶來(lái)了更多的性能損失。
3、READCOMMITTED:大多數(shù)主流數(shù)據(jù)庫(kù)的默認(rèn)事務(wù)等級(jí),保證了一個(gè)事務(wù)不會(huì)讀到另一個(gè)并行事務(wù)已修改但未提交的數(shù)據(jù),避免了“臟讀取”。該級(jí)別適用于大多數(shù)系統(tǒng)。
4、ReadUncommitted:保證了讀取過(guò)程中不會(huì)讀取到非法數(shù)據(jù)。
30.寫一段把本地文件formfile拷貝到本地文件tofile的程序
publicclassChangeJtdToJava{
publicstaticvoidmain(String[]args){
Filedir=newFile("f:/jtd");
//得到d:/jtd下的所有文件對(duì)象
File[]files=dir.listFiles();
for(Filefile:files){
StringfileName=file.getName();//得到文件名
intindex=fileName.indexOf(".");//.的索引位置
StringfileName2=fileName.substring(0,index);//不帶后綴名的文件名
StringhouZui=fileName.substrinxg(index);
if(houZui.equals(".jtd")){
//"f:/java/"+fileName2+".java"
//要移到的地方
file.renameTo(newFile("f:/java/"+fileName2+".java"));
}
}
}
}
31.寫出刪除表中重復(fù)記錄的語(yǔ)句oracle
deletefrompeople
wherepeopleIdin(selectpeopleIdfrompeoplegroupbypeopleIdhavingcount(peopleId)>1)androwidnotin(selectmin(rowid)frompeoplegroupby
32.java類實(shí)現(xiàn)序列化的方法(二種)?如在collection框架中,要實(shí)現(xiàn)什么樣的接口
java.io.Serializable接口
Collection框架中實(shí)現(xiàn)比較要實(shí)現(xiàn)Comparable接口和Comparator接口
33.Struts2實(shí)現(xiàn)攔截器的原理?
實(shí)現(xiàn)原理:Struts2攔截器是在訪問某個(gè)Action或Action的某個(gè)方法、字段之前或之后實(shí)施攔截,并且Struts2攔截器是可插拔的,攔截器是AOP的一種實(shí)現(xiàn)。當(dāng)請(qǐng)求struts2的action時(shí),Struts2會(huì)查找配置文件,并根據(jù)其配置實(shí)例化相對(duì)的攔截器對(duì)象,然后串成一個(gè)列表,最后一個(gè)一個(gè)地調(diào)用列表中的攔截器。
34.sleep()和wait()區(qū)別
sleep()方法:線程主動(dòng)放棄CPU,使得線程在指定的時(shí)間和CGI的區(qū)別?
Servlet的生命周期主要由3個(gè)過(guò)程組成。
(1)init()方法:服務(wù)器初始化servlet。
(2)service()方法:初始化完畢,servlet對(duì)象調(diào)用該方法響應(yīng)客戶的請(qǐng)求。(3)destroy()方法:調(diào)用該方法消滅servlet對(duì)象。
其中,init()方法只在servlet第一次被請(qǐng)求加載的時(shí)候被調(diào)用一次,當(dāng)有客戶再請(qǐng)求servlet服務(wù)時(shí),web服務(wù)器將啟動(dòng)一個(gè)新的線程,在該線程中,調(diào)用service方法響應(yīng)客戶的請(qǐng)求。
與cgi的區(qū)別在于servlet處于服務(wù)器進(jìn)程中,它通過(guò)多線程方式運(yùn)行其service方法,一個(gè)實(shí)例可以服務(wù)于多個(gè)請(qǐng)求,并且其實(shí)例一般不會(huì)銷毀,而CGI對(duì)每個(gè)請(qǐng)求都產(chǎn)生新的進(jìn)程,服務(wù)完成后就銷毀,所以效率上低于servlet。
36.forward與redirect的區(qū)別?有哪些方式實(shí)現(xiàn)
1).<jsp:forward>重定向后url地址欄地址不變還是原來(lái)的地址;而response.sendRedirect()重定向后
url地址欄地址顯示的請(qǐng)求后的新地址。
2).<jsp:forward>重定向的時(shí)候可以保存回話信息,因此可以使用request來(lái)進(jìn)行參數(shù)傳遞,在新頁(yè)面
可以使用request.getAttribute()來(lái)得到參數(shù)。而response.sendRedirect()不支持此通過(guò)request進(jìn)行參數(shù)傳遞。它唯一的傳值方式為response.sendRedirect(“example.jsp?aa=123”),在新的頁(yè)面通過(guò)request.getParameter(“aa”)來(lái)得到參數(shù)值
37.多線程、同步實(shí)現(xiàn)方法?
1)實(shí)現(xiàn)線程有兩種方法:繼承Thread類或者實(shí)現(xiàn)Runnable接口
2)實(shí)現(xiàn)同步也有兩種,一種是用同步方法,一種是用同步塊..同步方法就是在方法返回類型后面加上synchronized,比如:
publicvoidsynchronizedadd(){...}
同步塊就是直接寫:synchronized(這里寫需要同步的對(duì)象){...}
38.集合類有哪些?有哪些方法?
集合類ArrayListLinkedListHashSetHashMap
方法:add(),remove(),put(),addAll(),removeAll()
39.java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么
重寫,重載
方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。
重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說(shuō)該方法被重寫(Overriding)。子類的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對(duì)它而言,父類中的定義如同被“屏蔽”了。
果在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。
40.靜態(tài)的多態(tài)和動(dòng)態(tài)的多態(tài)的區(qū)別
靜態(tài)的多態(tài):即為重載;方法名相同,參數(shù)個(gè)數(shù)或類型不相同。(overloading)
動(dòng)態(tài)的多態(tài):即為重寫;子類覆蓋父類的方法,將子類的實(shí)例傳與父類的引用調(diào)用的是子類的方法實(shí)現(xiàn)接口的實(shí)例傳與接口的引用調(diào)用的實(shí)現(xiàn)類的方法。
41.作用域Public,private,protected.以及不寫時(shí)的區(qū)別
public整個(gè)java程序中都可以訪問
protected在其他包中不可以訪問
friendly只有當(dāng)前包或當(dāng)前比如classAextendsBimplementsC,D,E
43.join與leftjoin的區(qū)別:innerjoin(等值連接)只返回兩個(gè)表中聯(lián)結(jié)字段相等的行
leftjoin(左聯(lián)接)返回包括左表中的所有記錄和右表中聯(lián)結(jié)字段相等的記錄
rightjoin(右聯(lián)接)返回包括右表中的所有記錄和左表中聯(lián)結(jié)字段相等的記錄
44.DAO設(shè)計(jì)模式與DELEGATE模式
DAO(DataAccessObject)模式實(shí)際上是兩個(gè)模式的組合,即DataAccessor模式和ActiveDomainObject模式,其中DataAccessor模式實(shí)現(xiàn)了數(shù)據(jù)訪問和業(yè)務(wù)邏輯的分離,而ActiveDomainObject模式實(shí)現(xiàn)了業(yè)務(wù)數(shù)據(jù)的對(duì)象化封裝,一般我們將這兩個(gè)模式組合使用。
DAO模式通過(guò)對(duì)底層數(shù)據(jù)的封裝,為業(yè)務(wù)層提供一個(gè)面向?qū)ο蟮慕涌冢沟脴I(yè)務(wù)邏輯開發(fā)員可以面向業(yè)務(wù)中的實(shí)體進(jìn)行編碼。通過(guò)引入DAO模式,業(yè)務(wù)邏輯更加清晰,且富于形象性和描述性,這將為日后的維護(hù)帶來(lái)極大的便利。試想,在業(yè)務(wù)曾通過(guò)Customer.getName方法獲得客戶姓名,相對(duì)于直接通過(guò)SQL語(yǔ)句訪問數(shù)據(jù)庫(kù)表并從ResultSet中獲得某個(gè)字符型字段而言,哪種方式更加易于業(yè)務(wù)邏輯的形象化和簡(jiǎn)潔化?
BusinessDelegate起到客戶端業(yè)務(wù)抽象化的作用。它抽象化,進(jìn)而隱藏業(yè)務(wù)服務(wù)的實(shí)現(xiàn)。使用BusinessDelegate,可以降低表示層客戶端和系統(tǒng)的業(yè)務(wù)服務(wù)之間的耦合程度。根據(jù)實(shí)現(xiàn)策略不同,BusinessDelegate可以在業(yè)務(wù)服務(wù)API的實(shí)現(xiàn)中,保護(hù)客戶端不受可能的變動(dòng)性影響。這樣,在業(yè)務(wù)服務(wù)API或其底層實(shí)現(xiàn)變化時(shí),可以潛在地減少必須修改表示層客戶端代碼的次數(shù)。
45.適配器模式與橋梁模式的區(qū)別
適配器模式把一個(gè)類的接口變換成客戶端所期待的另一種接口,從而使原本因接口不匹配而無(wú)法在一起工作的兩個(gè)類能夠在一起工作。又稱為轉(zhuǎn)換器模式、變壓器模式、包裝模式(把已有的一些類包裝起來(lái),使之能有滿足需要的接口)。適配器模式的用意是將接口不同而功能相同或者相近的兩個(gè)接口加以轉(zhuǎn)換,包括適配器角色補(bǔ)充一些源角色沒有但目標(biāo)接口需要的方法。就像生活中電器插頭是三相的,而電源插座是兩相的,這時(shí)需要一個(gè)三相變兩相的轉(zhuǎn)換器來(lái)滿足。
比如,在JavaI/O庫(kù)中使用了適配器模式,象FileInputStream是一個(gè)適配器類,其繼承了InputStrem類型,同時(shí)持有一個(gè)對(duì)FileDiscriptor的引用。這是將一個(gè)FileDiscriptor對(duì)象適配成InputStrem類型的對(duì)象形式的適配器模式。StringReader是一個(gè)適配器類,其繼承了Reader類型,持有一個(gè)對(duì)String對(duì)象的引用。它將String的接口適配成Reader類型的接口。等等。
橋梁模式的用意是要把實(shí)現(xiàn)和它的接口分開,以便它們可以獨(dú)立地變化。橋梁模式并不是用來(lái)把一個(gè)已有的對(duì)象接到不相匹配的接口上的。當(dāng)一個(gè)客戶端只知道一個(gè)特定的接口,但是又必須與具有不同接口的類打交道時(shí),就應(yīng)該使用橋梁模式。
比如,JDBC驅(qū)動(dòng)器就是一個(gè)橋梁模式的應(yīng)用,使用驅(qū)動(dòng)程序的應(yīng)用系統(tǒng)就是抽象化角色,而驅(qū)動(dòng)器本身扮演實(shí)現(xiàn)化角色。應(yīng)用系統(tǒng)和JDBC驅(qū)動(dòng)器是相對(duì)獨(dú)立的。應(yīng)用系統(tǒng)動(dòng)態(tài)地選擇一個(gè)合適的驅(qū)動(dòng)器,然后通過(guò)驅(qū)動(dòng)器向數(shù)據(jù)庫(kù)引擎發(fā)出指令就可以訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
工廠模式
工廠模式:工廠模式是一種經(jīng)常被使用到的模式,根據(jù)工廠模式實(shí)現(xiàn)的類可以根據(jù)提供的數(shù)據(jù)生成一組類中某一個(gè)類的實(shí)例,通常這一組類有一個(gè)公共的抽象父類并且實(shí)現(xiàn)了相同的方法,但是這些方法針對(duì)不同的數(shù)據(jù)進(jìn)行了不同的操作。首先需要定義一個(gè)基類,該類的子類通過(guò)不同的方法實(shí)現(xiàn)了基類中的方法。然后需要定義一個(gè)工廠類,工廠類可以根據(jù)條件生成不同的子類實(shí)例。當(dāng)?shù)玫阶宇惖膶?shí)例后,開發(fā)人員可以調(diào)用基類中的方法而不必考慮到底返回的是哪一個(gè)子類的實(shí)例。
46.開發(fā)中都用到了那些設(shè)計(jì)模式?用在什么場(chǎng)合?
每個(gè)模式都描述了一個(gè)在我們的環(huán)境中不斷出現(xiàn)的問題,然后描述了該問題的解決方案的核心。通過(guò)這種方式,你可以無(wú)數(shù)次地使用那些已有的解決方案,無(wú)需在重復(fù)相同的工作。
(1)MVC模式,在J2EE項(xiàng)目開發(fā)中主要用在表示層框架中,很好解決視圖和流程控制。在項(xiàng)目中采用的Struts、WebWork等框架。
(2)DAO模式,在項(xiàng)目開發(fā)中主要用在數(shù)據(jù)層,封裝數(shù)據(jù)的訪問操作,為業(yè)務(wù)層提供數(shù)據(jù)服務(wù)。
(3)IoC模式,在項(xiàng)目開發(fā)中業(yè)務(wù)層有大量對(duì)象,他們之間存在依賴關(guān)系,可以使用IoC模式減少他們之間的代碼耦合,提高系統(tǒng)的可擴(kuò)展性。實(shí)際項(xiàng)目中使用的Spring框架來(lái)實(shí)現(xiàn)業(yè)務(wù)組件的裝配。
(4)Observer模式,在Servlet的監(jiān)聽器中應(yīng)用到了觀察者模式。
(5)singleton單例模式和Factory工廠模式結(jié)合使用在項(xiàng)目中無(wú)需使用者了解過(guò)多的細(xì)節(jié)就可獲取有關(guān)的對(duì)象實(shí)例。比如Hibernate項(xiàng)目中通過(guò)SessionFactory來(lái)獲取Session。
(6)bridge模式,在項(xiàng)目中使用JDBC驅(qū)動(dòng)訪問數(shù)據(jù)庫(kù)。
47.Hibernate中離線查詢與在線查詢的區(qū)別
Criteria和DetachedCriteria的主要區(qū)別在于創(chuàng)建的形式不一樣,Criteria是在線的,所以它是由HibernateSession進(jìn)行創(chuàng)建的;而DetachedCriteria是離線的,創(chuàng)建時(shí)無(wú)需Session,DetachedCriteria提供了2個(gè)靜態(tài)方法forClass(Class)或forEntityName(Name)進(jìn)行DetachedCriteria實(shí)例的創(chuàng)建。
48.C#數(shù)據(jù)類型有哪些?
int整型double雙精度型string字符串型char字符型bool布爾型
49.抽象類能否被實(shí)例化?抽象類的作用是什么?
抽象類一般不能被實(shí)例化;
抽象類通常不是由程序員定義的,而是由項(xiàng)目經(jīng)理或模塊設(shè)計(jì)人設(shè)計(jì)抽象類的原因通常是為了規(guī)范方法名抽象類必須要繼承,不然沒法用,作為模塊設(shè)計(jì)者,可以把讓底層程序員直接用得方法直接調(diào)用,而一些需要讓程序員覆蓋后自己做得方法則定義稱抽象方法
50.ASP.NET頁(yè)面?zhèn)鬟f值的方式有哪些
1通過(guò)URL鏈接地址傳遞2通過(guò)post方式。3通過(guò)session4通過(guò)Application
5通過(guò)Server.Transfersend.aspx:
51.如何定義一個(gè)MDI(.NET技術(shù))
定義MDI父窗口應(yīng)該是設(shè)置窗體的MdiParent屬性=true
52.WCF是什么?
WindowsCommunicationFoundation(WCF)是由微軟發(fā)展的一組數(shù)據(jù)通信的應(yīng)用程序開發(fā)接口,它是.NET框架的一部分,由.NETFramework3.0開始引入,與WindowsPresentationFoundation及WindowsWorkflowFoundation并行為新一代Windows操作系統(tǒng)以及WinFX的三個(gè)重大應(yīng)用程序開發(fā)類庫(kù)
53.常用的包,類,接口,各舉5個(gè)。
類StringIntegerLongFileDate
包java.lang.*;java.io.*;java.util.*;java.swt.*;java.math.*;
接口:Comparable,Connection,Map,List,Runable,
54.網(wǎng)上購(gòu)物系統(tǒng)的類圖,用例圖。
用例圖:
類圖:
55.給你一個(gè)整數(shù)類型的數(shù)組,按從小到大的順序進(jìn)行排列!publicstaticvoidfun(int[]a,intc){
for(inti=0;i<a.length-1;i++){
for(intj=i;j<a.length-1;j++){if(a[i]<a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
System.out.print(a[i]+"");
}
}
56.查詢出M頁(yè)的N行數(shù)據(jù)(分頁(yè)的實(shí)現(xiàn),求第M也的記錄數(shù))
SelecttopNfromtablewhereidnotin(selecttop(M-1)*Nidfromtable)
57.Linkedlistarraylist有什么作用?
就分析設(shè)計(jì)層面來(lái)說(shuō),面向?qū)ο蠹夹g(shù)提供了更高級(jí)的抽象能力以及更多的方法和工具,如設(shè)計(jì)模式;就實(shí)現(xiàn)維護(hù)層面來(lái)說(shuō),面向?qū)ο蠹夹g(shù)使代碼重用更容易,且使代碼具有可擴(kuò)展性,便于軟件的維護(hù)和升級(jí)更新。
60.如何移動(dòng)一個(gè)數(shù)使62-63=1成立
62-63=1如何移動(dòng)2的6次方等于642的6次方-63=1把2移動(dòng)到6的左下方
61.遞歸實(shí)現(xiàn)1,1,2,3,5,8,?.第30個(gè)數(shù)是多少?
publicstaticintFoo(inti)
{
if(i<=0)
return0;
elseif(i>0&&i<=2)
return1;
elsereturnFoo(i-1)+Foo(i-2);
}
inti=Foo(30);
System.out.println(i);
62.JAVA實(shí)現(xiàn)向數(shù)據(jù)庫(kù)添加一列
Connectioncon=null;
ResultSetrs=null;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name";
Connectioncon=DriverManager.getConnection(url,"","");
StateManagersm=con.createStateMent();
Stringsql="altertablestudentaddageint;";
rs=sm.excute(sql);
63.寫出刪除表中重復(fù)記錄的語(yǔ)句oracle
deletefrompeople
wherepeopleIdin(selectpeopleIdfrompeoplegroupbypeopleIdhavingcount(peopleId)>1)androwidnotin(selectmin(rowid)frompeoplegroup
64.用什么方法使服務(wù)器關(guān)閉之后,session所保存的信息不會(huì)丟失?
使用cookie
65.如果頁(yè)面沒有<html></html>標(biāo)簽,會(huì)出現(xiàn)什么錯(cuò)誤代碼?
沒有什么變化
66.抽象類是否可以沒有抽象方法?為什么?
可以在java中用abstract關(guān)鍵字來(lái)修飾一個(gè)類時(shí),這個(gè)類叫做抽象類。
抽象類中不一定要包含abstract方法,但一個(gè)類中包含了abstract方法,則這個(gè)類必須聲明為abstract類。
67.servlet中的init方法什么時(shí)候被調(diào)用?
容器首次創(chuàng)建實(shí)例的時(shí)候
68.用4個(gè)0,用你所知道的數(shù)學(xué)方法計(jì)算出24
0的階乘等于1即0?。剑蹦敲矗磦€(gè)0就是4了
又4的階乘為244?。剑玻?/p>
69.linux中進(jìn)程的查看和調(diào)度分別用什么命令?
ps-A查看renicetop
70.集合類有哪些?有哪些方法?
集合類ArrayListLinkedListHashSetHashMap
方法:add(),remove(),put(),addAll(),removeAll()
71.OSI七層模型tcp四層模型是什么樣的
OSI七層參考模型:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層、會(huì)話層、表示層
TCP/IP:第一層網(wǎng)絡(luò)接口層第二層第二層??網(wǎng)間層第三層??傳輸層第四層??應(yīng)用層
72.JAVA測(cè)試模式(ZZ):
模式(一)Main模式
模式(二)toString模式
模式(三)Equal模式
模式(四)InternalTesterClass模式
模式(五)ExternTesterClass模式
73.一學(xué)生表!有班及id,學(xué)號(hào)!成績(jī)!一求平均成績(jī)!二求比平均成績(jī)高的學(xué)生的所有信息
selectid,avg(成績(jī))fromtablegroupbyid
select*fromtablewhere成績(jī)>(select成績(jī)from(selectid,avg(成績(jī))成績(jī)fromtablegroupbyid)asa)
74.jdk的新特性
“JDK1.5”的一個(gè)重要主題就是通過(guò)新增一些特性來(lái)簡(jiǎn)化開發(fā),這些特性包括泛型,for-each循環(huán),自動(dòng)裝包/拆包,枚舉,可變參數(shù),靜態(tài)導(dǎo)入。使用這些特性有助于我們編寫更加清晰,精悍,安全的代碼。
75.j2ee的規(guī)范?
SUN公司定義的一個(gè)開發(fā)分布式企業(yè)級(jí)應(yīng)用的規(guī)范。它提供了一個(gè)多層次的分布式應(yīng)用模型和一系列開發(fā)技術(shù)規(guī)范。多層次分布式應(yīng)用模型是指根據(jù)功能把應(yīng)用邏輯分成多個(gè)層次,每個(gè)層次支持相應(yīng)的服務(wù)器和組件,組件在分布式服務(wù)器的組件容器中運(yùn)行(如Servlet組件在Servlet容器上運(yùn)行,EJB組件在EJB容器上運(yùn)行),容器間通過(guò)相關(guān)的協(xié)議進(jìn)行通訊,實(shí)現(xiàn)組件間的相互調(diào)用J2EE規(guī)范定義了以下四個(gè)層次。1.客戶端層(ClientTier)
2.Web層3.業(yè)務(wù)層(BusinessTier)4.企業(yè)信息系統(tǒng)層
76.ajax的工作原理?
Ajax基本上就是把JavaScript技術(shù)和XMLHttpRequest對(duì)象放在Web表單和服務(wù)器之間。當(dāng)用戶填寫表單時(shí),數(shù)據(jù)發(fā)送給一些JavaScript代碼而不是直接發(fā)送給服務(wù)器。相反,JavaScript代碼捕獲表單數(shù)據(jù)并向服務(wù)器發(fā)送請(qǐng)求。同時(shí)用戶屏幕上的表單也不會(huì)閃爍、消失或延遲。換句話說(shuō),JavaScript代碼在幕后發(fā)送請(qǐng)求,用戶甚至不知道請(qǐng)求的發(fā)出。更好的是,請(qǐng)求是異步發(fā)送的,就是說(shuō)JavaScript代碼(和用戶)不用等待服務(wù)器的響應(yīng)。因此用戶可以繼續(xù)輸入數(shù)據(jù)、滾動(dòng)屏幕和使用應(yīng)用程序。
然后,服務(wù)器將數(shù)據(jù)返回JavaScript代碼(仍然在Web表單中),后者決定如何處理這些數(shù)據(jù)。它可以迅速更新表單數(shù)據(jù),讓人感覺應(yīng)用程序是立即完成的,表單沒有提交或刷新而用戶得到了新數(shù)據(jù)。JavaScript代碼甚至可以對(duì)收到的數(shù)據(jù)執(zhí)行某種計(jì)算,再發(fā)送另一個(gè)請(qǐng)求,完全不需要用戶干預(yù)!這就是XMLHttpRequest的強(qiáng)大之處。它可以根據(jù)需要自行與服務(wù)器進(jìn)行交互,用戶甚至可以完全不知道幕后發(fā)生的一切。結(jié)果就是類似于桌面應(yīng)用程序的動(dòng)態(tài)、快速響應(yīng)、高交互性的體驗(yàn),但是背后又擁有互聯(lián)網(wǎng)的全部強(qiáng)大力量。
77..Xml特點(diǎn)?
XML是一種可擴(kuò)展標(biāo)記語(yǔ)言(XML)是Web上的數(shù)據(jù)通用語(yǔ)言。它使開發(fā)人員能夠?qū)⒔Y(jié)構(gòu)化數(shù)據(jù),從許多不同的應(yīng)用程序傳遞到桌面,進(jìn)行本地計(jì)算和演示。XML允許為特定應(yīng)用程序創(chuàng)建唯一的數(shù)據(jù)格式。它還是在服務(wù)器之間傳輸結(jié)構(gòu)化數(shù)據(jù)的理想格式。
XML主要具有以下幾個(gè)特點(diǎn):
①簡(jiǎn)潔有效
XML是一個(gè)精簡(jiǎn)的SGML,它將SGML的豐富功能與HTML的易用性結(jié)合到Web應(yīng)用種,它保留了SGML的可擴(kuò)展功能,這使得XML從根本上有區(qū)別于HTML。并且XML種還包括可擴(kuò)展格式語(yǔ)言XSL(ExtensibleStyleLanguage)和可擴(kuò)展鏈接語(yǔ)言XLL(ExtensibleLinkingLanguage)使得XML的顯示和解析更加方便快捷。②易學(xué)易用
XML對(duì)SGML進(jìn)行了精簡(jiǎn),它拋棄了SGML中不常用的部分,方便用戶編寫Web頁(yè)面同時(shí)也給設(shè)計(jì)人員實(shí)現(xiàn)XML瀏覽器降低了困難。
③開放的國(guó)際化標(biāo)準(zhǔn)
XML是W3C正式批準(zhǔn)的,它完全可用于Web和工具的開發(fā)。XML具有標(biāo)準(zhǔn)的名域說(shuō)明方法,支持文檔對(duì)象模型標(biāo)準(zhǔn)、可擴(kuò)展類型語(yǔ)言標(biāo)準(zhǔn)、可擴(kuò)展鏈接語(yǔ)言標(biāo)準(zhǔn)和XML指針語(yǔ)言標(biāo)準(zhǔn)。使用XML可以在不同的計(jì)算機(jī)系統(tǒng)間交換信息,而且還可以跨越國(guó)界和超越不同文化疆界交換信息。
④高效可擴(kuò)充
XML支持復(fù)用文檔片斷,使用者可以發(fā)明和使用自己的標(biāo)簽,也可以與他人共享,可延伸性大。在XML中,可定義一組無(wú)限量的標(biāo)準(zhǔn),可以有效地進(jìn)行XML文件的擴(kuò)充。
78.oracle中除了數(shù)據(jù)庫(kù)備份,還有什么方法備份?
Oracle數(shù)據(jù)庫(kù)有三種標(biāo)準(zhǔn)的備份方法,它們分別是導(dǎo)出/導(dǎo)入(EXP/IMP)、熱備份和冷備份。導(dǎo)出備份是一種邏輯備份,冷備份和熱備份是物理備份。
79.j2ee的常用設(shè)計(jì)模式
Factory(工廠模式),Builder(建造模式)fFactoryMethod(工廠方法模式),Prototype(原始模型模式),Singleton(單例模式),F(xiàn)acade(門面模式),Adapter(適配器模式),Bridge(橋梁模式)
80.由aaa字符串得到1000個(gè)a寫個(gè)程序
StringBuildersBuilder=newStringBuilder();
for(inti=0;i<333;i++){
sBuilder.Append("aaa");
}
sBuilder.Append("aaa".subString(0,1));
81.servlet與cgi的區(qū)別
CGI應(yīng)用開發(fā)比較困難,因?yàn)樗蟪绦騿T有處理參數(shù)傳遞的知識(shí),這不是一種通用的技能。CGI不可移植,為某一特定平臺(tái)編寫的CGI應(yīng)用只能運(yùn)行于這一環(huán)境中。每一個(gè)CGI應(yīng)用存在于一個(gè)由客戶端請(qǐng)求激活的進(jìn)程中,并且在請(qǐng)求被服務(wù)后被卸載。這種模式將引起很高的Servlet提供了Java應(yīng)用程序的所有優(yōu)勢(shì)——可移植、穩(wěn)健、易開發(fā)。使用ServletTag技術(shù),Servlet能夠生成嵌于靜態(tài)HTML頁(yè)面中的動(dòng)態(tài)truncate會(huì)將高水線復(fù)位(回到最開始).
4.速度,一般來(lái)說(shuō):drop>truncate>delete
5.安全性:小心使用drop和truncate,尤其沒有備份的時(shí)候.否則哭都來(lái)不及
使用上,想刪除部分?jǐn)?shù)據(jù)行用delete,注意帶上where子句.回滾段要足夠大.
想刪除表,當(dāng)然用drop
想保留表而將所有數(shù)據(jù)刪除.如果和事務(wù)無(wú)關(guān),用truncate即可.如果和事務(wù)有關(guān),或者想觸發(fā)trigger,還是用delete.
85.xml有哪些解析技術(shù),及區(qū)別?
有DOM,SAX,STAX等
DOM:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問題是由DOM的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM必須在解析文件之前把整個(gè)文檔裝入內(nèi)存,適合對(duì)XML的隨機(jī)訪問SAX:不現(xiàn)于DOM,SAX是事件驅(qū)動(dòng)型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個(gè)文件。當(dāng)遇到像文件開頭,文檔結(jié)束,或者標(biāo)簽開頭與標(biāo)簽結(jié)束時(shí),它會(huì)觸發(fā)一個(gè)事件,用戶通過(guò)在其回調(diào)事件中寫入處理代碼來(lái)處理XML文件,適合對(duì)XML的順序訪問
86.文件和目錄(i/o)操作,怎么列出某目錄下所有文件?某目錄下所有子目錄,怎么判斷文件或目錄是否存在?
如何讀寫文件?
列出某目錄下所有文件:調(diào)用listFile(),然后判斷每個(gè)File對(duì)象是否是文件可以調(diào)用isFile(),判斷是否是文件夾可以調(diào)用isDirectory(),判斷文件或目錄是否存在:調(diào)用exists()方法,讀寫文件使用FileReader和FileWriter兩個(gè)類即可
87.怎么用java反射得到一個(gè)類的私有方法?
packagetest;
publicclassTestClass{
privateStringtestMethod(Stringvalue){
return"test:"+value;
}
}
簡(jiǎn)單工廠模式能夠根據(jù)外界給定的信息,決定究竟應(yīng)該創(chuàng)建哪個(gè)具體類的對(duì)象。通過(guò)它,外界可以從直接創(chuàng)建具體產(chǎn)品對(duì)象的尷尬局面中擺脫出來(lái)。外界與具體類隔離開來(lái),偶合性低。明確區(qū)分了各自的職責(zé)和權(quán)力,有利于整個(gè)軟件體系結(jié)構(gòu)的優(yōu)化。
缺點(diǎn):工廠類集中了所有實(shí)例的創(chuàng)建邏輯,容易違反GRASPR的高雖然簡(jiǎn)單工廠模式能夠適應(yīng)一定的變化,但是它所能解決的問題是遠(yuǎn)遠(yuǎn)有限的。它所能創(chuàng)建的類只能是事先教考慮到的,如果需要添加新的類,則就需要改變工廠類了。(這個(gè)問題在工廠方法模式將得到很好的解決)
應(yīng)用情景工廠類負(fù)責(zé)創(chuàng)建的對(duì)象比較少客戶只知道傳入了工廠類的參數(shù),對(duì)于始何創(chuàng)建對(duì)象(邏輯)不關(guān)心
89.JVM加載class文件原理?
所謂裝載就是尋找一個(gè)類或是一個(gè)接口的二進(jìn)制形式并用該二進(jìn)制形式來(lái)構(gòu)造代表這個(gè)類或是這個(gè)接口的class對(duì)象的過(guò)程.
在Java中,類裝載器把一個(gè)類裝入Java虛擬機(jī)中,要經(jīng)過(guò)三個(gè)步驟來(lái)完成:裝載、鏈接和初始化,其中鏈接又可以分成校驗(yàn)、準(zhǔn)備、解析
裝載:查找和導(dǎo)入類或接口的二進(jìn)制數(shù)據(jù);
鏈接:執(zhí)行下面的校驗(yàn)、準(zhǔn)備和解析步驟,其中解析步驟是可以選擇的;
校驗(yàn):檢查導(dǎo)入類或接口的二進(jìn)制數(shù)據(jù)的正確性;
準(zhǔn)備:給類的靜態(tài)變量分配并初始化存儲(chǔ)空間;
解析:將符號(hào)引用轉(zhuǎn)成直接引用;
初始化:激活類的靜態(tài)變量的初始化Java代碼和靜態(tài)Java代碼塊
JVM中類的裝載是由ClassLoader和它的子類來(lái)實(shí)現(xiàn)的,JavaClassLoader是一個(gè)重要的Java運(yùn)行時(shí)系統(tǒng)組件。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類文件的類
一個(gè)Java應(yīng)用程序使用兩種類型的類裝載器:根裝載器(bootstrap)和用戶定義的裝載器(user-defined)。根裝載器以某種默認(rèn)的方式將類裝入,包括那些JavaAPI的類。在運(yùn)行期間一個(gè)Java程序能安裝用戶自己定義的類裝載器。根裝載器是虛擬機(jī)固有的一部分,而用戶定義的類裝載器則不是,它是用Java語(yǔ)言寫的,被編譯成class文件之后然后再被裝入到虛擬機(jī),并像其它的任何對(duì)象一樣可以被實(shí)例化。Java類裝載器的體系結(jié)構(gòu)如下所示:
Bootstrap(根裝載器)
|
Extension(擴(kuò)展裝載器)
|
System
|
UserDefine1
/\
UserDefine2UserDefine3
|
UserDefine4
Java的類裝載模型是一種代理(delegation)模型。當(dāng)JVM要求類裝載器CL(ClassLoader)裝載一個(gè)類時(shí),CL首先將這個(gè)類裝載請(qǐng)求轉(zhuǎn)發(fā)給他的父裝載器。只有當(dāng)父裝載器沒有裝載并無(wú)法裝載這個(gè)類時(shí),CL才獲得裝載這個(gè)類的機(jī)會(huì)。這樣,所有類裝載器的代理關(guān)系構(gòu)成了一種樹狀的關(guān)系。樹的根是類的根裝載器(bootstrapClassLoader),在JVM中它以"null"表示。除根裝載器以外的類裝載器有且僅有一個(gè)父裝載器。在創(chuàng)建一個(gè)裝載器時(shí),如果沒有顯式地給出父裝載器,那么JVM將默認(rèn)系統(tǒng)裝載器為其父裝載器
下面針對(duì)各種類裝載器分別進(jìn)行詳細(xì)的說(shuō)明:
根(Bootstrap)裝載器:該裝載器沒有父裝載器,它是JVM實(shí)現(xiàn)的一部分,從sun.boot.class.path裝載運(yùn)行時(shí)庫(kù)的核心代碼。
擴(kuò)展(Extension)裝載器:繼承的父裝載器為根裝載器,不像根裝載器可能與運(yùn)行時(shí)的操作系統(tǒng)有關(guān),這個(gè)類裝載器是用純Java代碼實(shí)現(xiàn)的,它從java.ext.dirs(擴(kuò)展目錄)中裝載代碼。
系統(tǒng)(SystemorApplication)裝載器:裝載器為擴(kuò)展裝載器,我們都知道在安裝JDK的時(shí)候要設(shè)置環(huán)境變量(CLASSPATH),這個(gè)類裝載器就是從java.class.path(CLASSPATH環(huán)境變量)中裝載代碼的,它也是用純Java代碼實(shí)現(xiàn)的,同時(shí)還是用戶自定義類裝載器的缺省父裝載器。
小應(yīng)用程序(Applet)裝載器:裝載器為系統(tǒng)裝載器,它從用戶指定的網(wǎng)絡(luò)上的特定目錄裝載小應(yīng)用程序代碼。
90.Tomcat的class加載的優(yōu)先順序一覽
1.最先是$JAVA_HOME/jre/lib/ext/下的jar文件。
2.環(huán)境變量CLASSPATH中的jar和class文
3.$CATALINA_HOME/common/classes下的class
4.$CATALINA_HOME/commons/endorsed下的jar文件。
5.$CATALINA_HOME/commons/i18n下的jar文件。
6.$CATALINA_HOME/common/lib下的jar文件。
(JDBC驅(qū)動(dòng)之類的jar文件可以放在這里,這樣就可以避免在server.xml配置好數(shù)據(jù)源卻出現(xiàn)找不到JDBCDriver的情況。)
7.$CATALINA_HOME/server/classes下的class文件。
8.$CATALINA_HOME/server/lib/下的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文件。
91.CS與BS聯(lián)系區(qū)別
1)java適合開發(fā)bs結(jié)構(gòu),cs不是它的強(qiáng)項(xiàng)C/S服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫(kù)系統(tǒng),如Oracle、Sybase、Informix或SQLServer。客戶端需要安裝專用的客戶端軟件。B/S客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如InternetExplorer,服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫(kù)。在這種結(jié)構(gòu)下,用戶界面完全通過(guò)WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)。瀏覽器通過(guò)WebServer同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互1.硬件環(huán)境不同:C/S一般建立在專用的網(wǎng)絡(luò)上,小范圍里的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過(guò)專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù).B/S建立在廣域網(wǎng)之上的
2)對(duì)安全要求不同C/S一般面向相對(duì)固定的用戶群,對(duì)信息安全的控制能力很強(qiáng).一般高度機(jī)密的信息系統(tǒng)采用C/S結(jié)構(gòu)適宜.可以通過(guò)B/S發(fā)布部分可公開信息.B/S建立在廣域網(wǎng)之上,對(duì)安全的控制能力相對(duì)弱,可能面向不可知的用戶
3)對(duì)程序架構(gòu)不同C/S程序可以更加注重流程,可以對(duì)權(quán)限多層次校驗(yàn)B/S對(duì)安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上
92.Error和exception的區(qū)別與聯(lián)系
error表示恢復(fù)不是不可能,但很困難的情況下的一種嚴(yán)重問題。比如說(shuō)內(nèi)存溢,網(wǎng)絡(luò)故障等。不可能指望程序能處理的情況。
exception表示一種設(shè)計(jì)或?qū)崿F(xiàn)問題。也就是說(shuō),它表示如果程序運(yùn)行正常,就不會(huì)發(fā)生的情況。程序可以捕獲到這些異常,并進(jìn)行處理。
93.在編寫頁(yè)面的會(huì)用到哪些技術(shù)?
美化頁(yè)面需要用到CSS、頁(yè)面交互使用JavaScript、動(dòng)態(tài)頁(yè)面需要用到JSP、XML等動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)。
94.手寫個(gè)程序在本頁(yè)面中心彈出一個(gè)窗體,里面有學(xué)生的成績(jī),可以修改學(xué)生的成績(jī),并且可以關(guān)閉窗口,把
每個(gè)要用的jsp頁(yè)面顯示出來(lái)。(用JavaScript)
負(fù)責(zé)修改成績(jī)的UpdateScoreServlet
95.用main涵數(shù)輸出一到一百的和。
#include<stdio.h>
intmain(){
printf("sum:%d\n",sum());
return0;
}
intsum(){
inti;
intsum=0;
for(i=1;i<=100;i++)
sum+=i;
returnsum;
}
96.查一下每門課程都大于80的學(xué)生姓名
學(xué)生表student分?jǐn)?shù)表grade
selectfromstudentswheres.idnotin(selectg.studentidfromgradegwhereg.marks<=80)或者
selectfromstudentswherenotexists(select1fromgradegwhereg.studentid=s.idandg.marks<=80)
97.LIUNIX如何查看CPU,IP,查看CPU
cat/proc/meminfo查看查看IP的
98.j2EE系統(tǒng)訪問速度慢.從哪些方面可以優(yōu)化
J2EE性能的優(yōu)化包括很多方面的,要達(dá)到一個(gè)性能優(yōu)良的系統(tǒng),除了關(guān)注代碼之外,還應(yīng)該根據(jù)系統(tǒng)實(shí)際的運(yùn)行情況,從服務(wù)器軟硬件環(huán)境、集群技術(shù)、系統(tǒng)構(gòu)架設(shè)計(jì)、系統(tǒng)部署環(huán)境、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)等方面綜合考慮
99.J2EE訪問速度慢,怎么樣優(yōu)化
1使用緩沖標(biāo)記對(duì)于代碼邏輯復(fù)雜的頁(yè)面,利用緩沖標(biāo)記提高性能的效果比較明顯;反之,效果可能略遜一籌。2始終通過(guò)會(huì)話Bean訪問實(shí)體Bean一些時(shí)候,使用實(shí)體Bean會(huì)導(dǎo)致程序性能不佳。如果實(shí)體Bean的惟一用途就是
提取和更新數(shù)據(jù),改成在會(huì)話Bean之實(shí)體Bean的部署描述器允許把所有g(shù)et方法設(shè)置成“只讀”。當(dāng)某個(gè)事務(wù)單元的工
作只包含執(zhí)行讀取操作的方法時(shí),設(shè)置只讀屬性有利于提高性能,因?yàn)槿萜鞑槐卦賵?zhí)行存儲(chǔ)操作
5緩沖對(duì)EJBHome的訪問
100.haShtable的原理
原理:通過(guò)節(jié)點(diǎn)的關(guān)鍵碼確定節(jié)點(diǎn)的存儲(chǔ)位置,即給定節(jié)點(diǎn)的關(guān)鍵碼k,通過(guò)一定的函數(shù)關(guān)系H(散列函數(shù)),得到函數(shù)值H(k),將此值解釋為該節(jié)點(diǎn)的存儲(chǔ)地址
101.struts中的prepare怎么用?
prepare是在validate攔截器之前執(zhí)行
<s:checkboxlistlist="users"listKey="id"listValue="name"name="userid"></s:checkboxlist>
在使用struts2checkboxlist,select綁定list時(shí),有時(shí)候會(huì)出現(xiàn)以下異常
Therequestedlistkey‘users’couldnotberesolvedasacollection/array/map/enumeration/iteratortype.Example:peopleorpeople.{name}-[unknownlocation]這樣的錯(cuò)誤。是因?yàn)閘ist的值為空
解決辦法是把初始化list的工作放到prepare攔截器中
publicclassRoleActionextendsActionSupportimplementsPreparable{
@Override
publicvoidprepare()throwsException{
//初始化list
}}
102.C#題目conetextmenu控件如何使用..listview
ContextMenu組件提供與選定對(duì)象相關(guān)的常用命令的菜單。可以通過(guò)向MenuItems集合中添加MenuItem對(duì)象來(lái)向快捷菜單中添加項(xiàng)??梢詮目旖莶藛沃杏谰玫匾瞥?xiàng);但是在運(yùn)行時(shí)隱藏或禁用項(xiàng)可能更為妥當(dāng)。ListView的ContextMenu屬性設(shè)置為ContextMenu對(duì)象
103.寫一條SQL語(yǔ)句,查詢姓張學(xué)生中平均成績(jī)大于75的學(xué)生信息
select*fromstudentwherenamein(selectnamefromstudent
wherenamelike‘張%’groupbynamehavingavg(score)>75)
104.從以下方面比較strut1和strut2:線程模式、依賴、可測(cè)性、表達(dá)式語(yǔ)言、捕獲輸入、綁釘值到頁(yè)面、類
型轉(zhuǎn)換
線程模式:Struts1Action是單例模式并且必須是線程安全的,因?yàn)閮H有Action的一個(gè)實(shí)例來(lái)處理所有的請(qǐng)求。單例策略限制了Struts1Action能作的事,并且要在開發(fā)時(shí)特別小心。Action資源必須是線程安全的或同步的。
?Struts2Action對(duì)象為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)實(shí)例,因此沒有線程安全問題。(實(shí)際上,servlet容器給每個(gè)請(qǐng)求產(chǎn)生許多可丟棄的對(duì)象,并且不會(huì)導(dǎo)致性能和垃圾回收問題)
Servlet依賴:
?Struts1Action依賴于ServletAPI,因?yàn)楫?dāng)一個(gè)Action被調(diào)用時(shí)HttpServletRequest和HttpServletResponse被傳遞給execute方法。
?Struts2Action不依賴于容器,允許Action脫離容器單獨(dú)被測(cè)試。如果需要,Struts2Action仍然可以訪問初始的request和response。但是,其他的元素減少或者消除了直接訪問HttpServetRequest和HttpServletResponse的必要性。
可測(cè)性:
?測(cè)試Struts1Action的一個(gè)主要問題是execute方法暴露了servletAPI(這使得測(cè)試要依賴于容器)。一個(gè)第三方擴(kuò)展--StrutsTestCase--提供了一套Struts1的模擬對(duì)象(來(lái)進(jìn)行測(cè)試)。
?Struts2Action可以通過(guò)初始化、設(shè)置屬性、調(diào)用方法來(lái)測(cè)試,“依賴注入”支持也使測(cè)試更容易。
捕獲輸入:
?Struts1使用ActionForm對(duì)象捕獲輸入。所有的ActionForm必須繼承一個(gè)基類。因?yàn)槠渌鸍avaBean不能用作ActionForm,開發(fā)者經(jīng)常創(chuàng)建多余的類捕獲輸入。動(dòng)態(tài)Bean(DynaBeans)可以作為創(chuàng)建傳統(tǒng)ActionForm的選擇,但是,開發(fā)者可能是在重新描述(創(chuàng)建)已經(jīng)存在的JavaBean(仍然會(huì)導(dǎo)致有冗余的javabean)。?Struts2直接使用Action屬性作為輸入屬性,消除了對(duì)第二個(gè)輸入對(duì)象的需求。輸入屬性可能是有自己(子)屬性的rich對(duì)象類型。Action屬性能夠通過(guò)web頁(yè)面上的taglibs訪問。Struts2也支持ActionForm模式。rich對(duì)象類型,包括業(yè)務(wù)對(duì)象,能夠用作輸入/輸出對(duì)象。這種ModelDriven特性簡(jiǎn)化了taglib對(duì)POJO輸入對(duì)象的引用。
表達(dá)式語(yǔ)言:
?Struts1整合了JSTL,因此使用JSTLEL。這種EL有基本對(duì)象圖遍歷,但是對(duì)集合和索引屬性的支持很弱。?Struts2可以使用JSTL,但是也支持一個(gè)更強(qiáng)大和靈活的表達(dá)式語(yǔ)言--"ObjectGraphNotationLanguage"(OGNL).
綁定值到頁(yè)面(view):
?Struts1使用標(biāo)準(zhǔn)JSP機(jī)制把對(duì)象綁定到頁(yè)面中來(lái)訪問。
?Struts2使用"ValueStack"技術(shù),使taglib能夠訪問值而不需要把你的頁(yè)面(view)和對(duì)象綁定起來(lái)。ValueStack策略允許通過(guò)一系列名稱相同但類型不同的屬性重用頁(yè)面(view)。
類型轉(zhuǎn)換:
?Struts1ActionForm屬性通常都是String類型。Struts1使用Commons-Beanutils進(jìn)行類型轉(zhuǎn)換。每個(gè)類一個(gè)轉(zhuǎn)換器,對(duì)每一個(gè)實(shí)例來(lái)說(shuō)是不可配置的。
?Struts2使用OGNL進(jìn)行類型轉(zhuǎn)換。提供基本和常用對(duì)象的轉(zhuǎn)換器。
105.struts的工作原理可分為如下8步。
1.讀取配置(初始化ModuleConfig對(duì)象)
Struts框架總控制器(ActionServlet)是一個(gè)Servlet,在web.xml中被配置成一個(gè)自動(dòng)啟動(dòng)的Servlet。讀取配置文件struts-config.xml的配置信息,為不同的Struts模塊初始化相應(yīng)的ModuleConfig對(duì)象。2.用戶請(qǐng)求
用戶提交表單或調(diào)用URL向WEB應(yīng)用程序服務(wù)器提交一個(gè)請(qǐng)求,請(qǐng)求的數(shù)據(jù)用HTTP協(xié)議上傳給WEB服務(wù)器。
3.填充FormBean
(*.do請(qǐng)求)從ActionConfig中找出對(duì)應(yīng)該請(qǐng)求的Action子類,如有對(duì)應(yīng)的Action且這個(gè)Action又一個(gè)相應(yīng)的ActionForm,ActionForm被實(shí)例化并用HTTP請(qǐng)求的數(shù)據(jù)填充其屬性,并保存在ServletContext中,這樣他們就可以被其它Action對(duì)象或JSP調(diào)用。如果沒有對(duì)應(yīng)的Action,控制器則直接轉(zhuǎn)發(fā)給JSP或靜態(tài)頁(yè)面。
4.派發(fā)請(qǐng)求
控制器根據(jù)配置信息ActionConfig將請(qǐng)求派發(fā)到具體的Action,相應(yīng)的FormBean一并傳給這個(gè)Action的execute()方法。
5.處理業(yè)務(wù)
Action一般只包含一個(gè)execute方法,它負(fù)責(zé)執(zhí)行相應(yīng)的業(yè)務(wù)邏輯。執(zhí)行完畢后返回一個(gè)ActionFoward對(duì)象,控制器通過(guò)該ActionFoward對(duì)象來(lái)進(jìn)行轉(zhuǎn)發(fā)工作。
6.返回響應(yīng)
Action根據(jù)業(yè)務(wù)處理的不同結(jié)果返回一個(gè)響應(yīng)對(duì)象給總控制器,該目標(biāo)響應(yīng)對(duì)相對(duì)應(yīng)一個(gè)具體的JSP頁(yè)面或另一個(gè)Action。
7.查找響應(yīng)
總控制器根據(jù)業(yè)務(wù)功能Action返回的目標(biāo)響應(yīng)對(duì)象找到對(duì)應(yīng)的資源對(duì)象,通常是一個(gè)具體的JSP頁(yè)面。
8.響應(yīng)用戶
JSP將結(jié)果展現(xiàn)給用戶。
106.Spring工作原理
Spring的配置文件來(lái)動(dòng)態(tài)的創(chuàng)建對(duì)象,和調(diào)用對(duì)象里的方法的還有一個(gè)核心就是AOP這個(gè)就是面向切面編程,可以為某一類對(duì)象進(jìn)行監(jiān)督和控制(也就是在調(diào)用這類對(duì)象的具體方法的前后去調(diào)用你指定的模塊)從而達(dá)到對(duì)一個(gè)模塊擴(kuò)充的
功能。這些都是通過(guò)配置類達(dá)到的
Spring目的:就是讓對(duì)象與對(duì)象(模塊與模塊)之間的關(guān)系沒有通過(guò)代碼來(lái)關(guān)聯(lián),都是通過(guò)配置類說(shuō)明管理的(Spring根據(jù)這些配置STRINGA=".6.15.44"
Strings=”.6.15.44”;
Strings1[]=s.split(“.”);
Integerii[]=newInteger[s1.length];
For(inti=0;i<s1.length;i++){
ii[i]=Integer.parseInt(s1[i]);
}
Arrays.sort(ii);
for(Integero:ii){
System.out.println(o+”s”);
}
96Oracle冷備份的通常步驟
1正常關(guān)閉數(shù)據(jù)庫(kù)2備份所有重要的文件到備份目錄(數(shù)據(jù)文件、控制文件、重做日志文件等)
3完成備份后啟動(dòng)數(shù)據(jù)庫(kù)用冷備份進(jìn)行恢復(fù)時(shí),只需要將所有文件恢復(fù)到原有位置,就可以啟動(dòng)數(shù)據(jù)庫(kù)了
4關(guān)閉數(shù)據(jù)庫(kù)SQL>shutdown5備份文件到備份的目錄6然后啟動(dòng)數(shù)據(jù)庫(kù)#sqlplus"/as
sysdba"SQL>startup冷備份完畢??!
109.servlet創(chuàng)建過(guò)程以及ruquest,response,session的生命周期?
Servlet的創(chuàng)建過(guò)程:
第一步
publicclassAAAextendsHttpServlet{
實(shí)現(xiàn)對(duì)應(yīng)的doxxx方法
}
第二步:
在web.xml中配置
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
servlet的生命周期:
servlet容器創(chuàng)建servlet的一個(gè)實(shí)例
容器調(diào)用該實(shí)例的init()方法
如果容器對(duì)該servlet有請(qǐng)求,則調(diào)用此實(shí)例的service()方法
容器在銷毀本實(shí)例前調(diào)用它的destroy()方法
銷毀并標(biāo)記該實(shí)例以供作為垃圾收集
一旦請(qǐng)求了一個(gè)servlet,就沒有辦法阻止容器執(zhí)行一個(gè)完整的生命周期。
容器在servlet首次被調(diào)用時(shí)創(chuàng)建它的一個(gè)實(shí)例,并保持該實(shí)例在/日志文件.RDO/控制文件.CTL/參數(shù)文件.ORASQLSERVER的文件體系結(jié)構(gòu)為:
.MDF(數(shù)據(jù)字典)/.NDF(數(shù)據(jù)文件)/.LDF(日志文件)
b)存儲(chǔ)結(jié)構(gòu):
ORACLE存儲(chǔ)結(jié)構(gòu):在ORACLE將存儲(chǔ)單位分為塊、區(qū)、段、表等;塊的大小可設(shè)置(OLTP塊和DSS塊);將連續(xù)的塊組成區(qū),可動(dòng)態(tài)分配區(qū)(區(qū)的分配可以是等額的也可以是自增長(zhǎng)的)可減少空間分配次數(shù);ORACLEl里表可以分為多個(gè)段,段由多個(gè)區(qū)組成,每個(gè)段可指定分配在哪個(gè)表空間里(段的類型分為:數(shù)據(jù)段、索引段、回滾段、臨時(shí)段、CASH段。ORACLE里還可對(duì)表進(jìn)行分區(qū),可按照用戶定義的業(yè)務(wù)規(guī)則、條件或規(guī)范,物理的分開磁盤上的數(shù)據(jù)。這樣大大降低了磁盤爭(zhēng)用的可能性。
SQLSERVER存儲(chǔ)結(jié)構(gòu):以頁(yè)為最小分配單位,每個(gè)頁(yè)為8K(不可控制,缺乏對(duì)頁(yè)的存儲(chǔ)情況的分析機(jī)制),可將8個(gè)連續(xù)的頁(yè)的組成一個(gè)‘?dāng)U展’,以進(jìn)一步減少分配時(shí)所耗用的資源。(分配缺乏靈活性),在SQLSERVER里數(shù)據(jù)以表的方式存放,而表是存放在數(shù)據(jù)庫(kù)里。真實(shí)數(shù)據(jù)與數(shù)據(jù)字典存放在一起。對(duì)系統(tǒng)參數(shù)信息無(wú)安全機(jī)制。
c)操作系統(tǒng):
Oracle可在所有主流平臺(tái)上運(yùn)行;但SQLSever只在Window平臺(tái)上的表現(xiàn)很好;
d)運(yùn)行速度與安全性:Oracle高于SQLServer;
e)價(jià)格:Oracle高于SQLServer;
114.瀏覽器頁(yè)面與T0MCat的交互過(guò)程?
當(dāng)一個(gè)JSP頁(yè)面第一次被訪問的時(shí)候,JSP引擎將執(zhí)行以下步驟:
(1)將JSP頁(yè)面翻譯成一個(gè)Servlet,這個(gè)Servlet是一個(gè)java文件,同時(shí)也是一個(gè)完整的java程序
(2)JSP引擎調(diào)用java編譯器對(duì)這個(gè)Servlet進(jìn)行編譯,得到可執(zhí)行文件class
(3)JSP引擎調(diào)用java虛擬機(jī)來(lái)解釋執(zhí)行class文件,生成向客戶端發(fā)送的應(yīng)答,然后發(fā)送給客戶端
以上三個(gè)步驟僅僅在JSP頁(yè)面第一次被訪問時(shí)才會(huì)執(zhí)行,以后的訪問速度會(huì)因?yàn)閏lass文件已經(jīng)生成而大大提高。當(dāng)JSP引擎街道一個(gè)客戶端的訪問請(qǐng)求時(shí),首先判斷請(qǐng)求的JSP頁(yè)面是否比對(duì)應(yīng)的Servlet新,如果新,對(duì)應(yīng)的JSP需要重新編譯。
115.用C編寫將一個(gè)100以100以*/
#include<stdio.h>
main()
{
inti,j;
for(i=2;i<100;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
break;
}
if(i==j)
{
printf("%d",i);
}
}
}
/*分解質(zhì)因數(shù)*/
main()
{
intn,i;
printf(&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游景區(qū)場(chǎng)地?zé)o償使用及配套設(shè)施共建協(xié)議
- 智能化車間裝修與設(shè)備安裝一體化合同
- 軍用裝備運(yùn)輸保密協(xié)議書
- 車庫(kù)租賃與智能化停車解決方案合同
- 車輛租賃押金抵押合同模板
- 汽車維修車間租賃協(xié)議模板
- 供應(yīng)鏈管理采購(gòu)合同八大要素優(yōu)化策略
- 沿海開發(fā)區(qū)域場(chǎng)地開發(fā)居間服務(wù)協(xié)議
- 知識(shí)產(chǎn)權(quán)保護(hù)分公司設(shè)立股東協(xié)議書
- 六年級(jí)1班家長(zhǎng)會(huì)課件
- 頸內(nèi)動(dòng)脈海綿竇瘺
- 工業(yè)4.0和中國(guó)制造2025
- 子宮內(nèi)膜增生
- 品牌視覺形象設(shè)計(jì)智慧樹知到答案章節(jié)測(cè)試2023年天津科技大學(xué)
- YY/T 1850-2023男用避孕套聚氨酯避孕套的技術(shù)要求與試驗(yàn)方法
- 擠壓工試卷合集
- GB/T 3101-1993有關(guān)量、單位和符號(hào)的一般原則
- GB/T 2624.1-2006用安裝在圓形截面管道中的差壓裝置測(cè)量滿管流體流量第1部分:一般原理和要求
- 2023年上海高考語(yǔ)文試卷+答案
- 小學(xué)數(shù)學(xué)西南師大六年級(jí)下冊(cè)五總復(fù)習(xí) 列方程解決問題D
- 景觀園林設(shè)計(jì)收費(fèi)的標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論