版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、你對(duì)MVC的理解,MVC有什么優(yōu)缺陷?結(jié)合Struts,闡明在一種Web應(yīng)用怎樣去使
用?
答:
MVC設(shè)計(jì)模式(應(yīng)用觀測(cè)者模式的框架模式)
M:Model(Businessprocesslayer)>模型,操作數(shù)據(jù)的業(yè)務(wù)處理層,并獨(dú)立于體現(xiàn)層(Independent
ofpresentation)?
V:View(Presentationlayer),視圖,通過客戶端數(shù)據(jù)類型顯示數(shù)據(jù),并回顯模型層的執(zhí)行成果。
C:Controller(Controllayer),控制器,也就是視圖層和模型層橋梁,控制數(shù)據(jù)的I流向,接受
視圖層發(fā)出的事件,并重繪視圖
MVC框架的一種實(shí)現(xiàn)模型
模型二(Servlet-centric):
JSP+Servlet+JavaBean,以控制為關(guān)鍵,JSP只負(fù)責(zé)顯示和搜集數(shù)據(jù),Sevlet,連接視圖和模
型,將視圖層數(shù)據(jù),發(fā)送給模型層,JavaBean,分為業(yè)務(wù)類和數(shù)據(jù)實(shí)體,業(yè)務(wù)類處理業(yè)務(wù)數(shù)
據(jù),數(shù)據(jù)實(shí)體,承載數(shù)據(jù),基本上大多數(shù)的項(xiàng)目都是使用這種MVC的實(shí)現(xiàn)模式。
StrutsMVC框架(Webapplicationframeworks)
Struts是使用MVC的實(shí)現(xiàn)模式二來實(shí)現(xiàn)的,也就是以控制器為關(guān)鍵。
Struts提供了某些組件使用MVC開發(fā)應(yīng)用程序:
Model:Struts沒有提供model類。這個(gè)商業(yè)邏輯必須由Web應(yīng)用程序歐I開發(fā)者以JavaBean
或EJB的形式提供
View:Struts提供了actionform創(chuàng)立formbean,用于在controller和view間傳播數(shù)據(jù)。止匕外,
Struts提供了自定義JSP標(biāo)簽庫,輔助開發(fā)者用JSP創(chuàng)立交互式的以表單為基礎(chǔ)的應(yīng)用程序,
應(yīng)用程序資源文獻(xiàn)保留了某些文本常量和錯(cuò)誤消息,可轉(zhuǎn)變?yōu)槠渌Z言,可用于JSP中。
Controller:Struts提供了一種關(guān)鍵歐I控制器ActionServlet,通過這個(gè)關(guān)鍵日勺控制器來調(diào)用其
他顧客注冊(cè)了日勺自定義的控制器Action,自定義Action需要符合Struts日勺自定義Action規(guī)
范,還需要在struts?config.xml出J特定配置文獻(xiàn)中進(jìn)行配置,接受JSP輸入字段形成Action
form,然后調(diào)用一種Action控制器。Action控制器中提供了models邏輯接口。
二、什么是WebService?
答:
WebService是一種SOA(面向服務(wù)的編程)的架構(gòu),它是不依賴于語言,不依賴于平
臺(tái),可以實(shí)現(xiàn)不一樣的語言間的互相調(diào)用,通過Internet進(jìn)行基于協(xié)議的網(wǎng)絡(luò)應(yīng)用間日勺
交互。
WebService實(shí)現(xiàn)不一樣語言間歐I調(diào)用,是依托于一種原貝!J,webservice是需要遵守WSDL
(web服務(wù)定義語言)/SOAP(簡(jiǎn)樸祈求協(xié)議)規(guī)范的J。
WebService=WSDL+SOAP+UDDI(webservice的注冊(cè))
So叩是由Soap的Jpart和0個(gè)或多種附件構(gòu)成,--般只有part,在part中有Envelope和
Body。
WebService是通過提供原則的協(xié)議和接口,可以讓不一樣的程序集成的一種SOA架構(gòu)。
WebService的J長(zhǎng)處
(1)可以讓異構(gòu)的程序互相訪問(跨平臺(tái))
(2)松耦合
(3)基于原則協(xié)議(通用語言,容許其他程序訪問)
WebService的I基本原理
(1)ServiceProvider采用WSDL描述服務(wù)
(2)ServiceProvider采用UDDI將服務(wù)區(qū)|描述文獻(xiàn)公布到UDDI服務(wù)器(Registerserver)
(3)ServiceRequestor在UDDI服務(wù)器上查詢并獲取WSDL文獻(xiàn)
(4)Servicerequestor將祈求綁定到SOAP,并訪問對(duì)應(yīng)的服務(wù)。
三、什么是中間件?
中間件就是程序中可織入的,可重用的,與業(yè)務(wù)邏輯無關(guān)的多種組件。
中間件(middleware)是基礎(chǔ)軟件的一大類,屬于可復(fù)用軟件的范圍。顧名思義,中間
件處在操作系統(tǒng)軟件與顧客的應(yīng)用軟件的中間。中間件在操作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫之上,應(yīng)
用軟件的下層,總的作用是為處在自己上層的應(yīng)用軟件提供運(yùn)行與開發(fā)的環(huán)境,協(xié)助顧客靈
活、高效地開發(fā)和集成復(fù)雜的應(yīng)用軟件。
在眾多有關(guān)中間件的定義中,比較普遍被接受的是IDC表述的:中間件是一種獨(dú)立歐1
系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不一樣的技術(shù)之間共享資源,中間件
位于客戶機(jī)服務(wù)器的操作系統(tǒng)之上,管理計(jì)算資源和網(wǎng)絡(luò)通信。
分類:數(shù)據(jù)訪問中間件,遠(yuǎn)程調(diào)用中間件,消息中間件,交易中間件,對(duì)象中間件。
舉例:
1.RMI(RemoteMethodInvocations,遠(yuǎn)程調(diào)用)
2,LoadBalancing(負(fù)載均衡,將訪問負(fù)荷分散到各個(gè)服務(wù)器中)
3,TransparentFail-over(透明的I故障切換)
4,Clustering(集群,用多種小的服務(wù)器替代大型機(jī))
5,Back-end-Integration(后端集成,用既有歐I、新開發(fā)日勺系統(tǒng)怎樣去集成遺留的系統(tǒng))
6,Transaction事務(wù)(全局/局部)全局事務(wù)(分布式事務(wù))局部事務(wù)(在同一數(shù)據(jù)庫聯(lián)接
內(nèi)的事務(wù))
7,DynamicRedeployment(動(dòng)態(tài)重新布署,在不停止原系統(tǒng)的狀況下,布署新的系統(tǒng))
8,SystemManagement(系統(tǒng)管理)
9,Threading(多線程處理)
10,Message-orientedMiddleware面向消息的中間件(異步的調(diào)用編程)
11,ComponentLifeCycle(組件日勺生命周期管理)
12,Resourcepooling(資源池)
13,Security(安全)
14,Caching(緩存)
四、什么是經(jīng)典的軟件三層構(gòu)造?軟件設(shè)計(jì)為何要分層?軟件分層有什么好處?
答:(1)Presentationlayer(表達(dá)層)
(1)表達(dá)邏輯(生成界面代碼)
(2)接受祈求
(3)處理業(yè)務(wù)層拋出的異常
(4)負(fù)責(zé)規(guī)則驗(yàn)證(數(shù)據(jù)格式,數(shù)據(jù)非空等)
(5)流程控制
(2)Servicelayer(服務(wù)層/業(yè)務(wù)層)
(1)封裝業(yè)務(wù)邏輯處理,并且對(duì)外暴露接口
(2)負(fù)責(zé)事務(wù),安全等服務(wù)
(3)Persistencelayer(持久層)
(1)封裝數(shù)據(jù)訪問的邏輯,暴露接口
(2)提供以便的數(shù)據(jù)訪問的方案(查詢語言,API,映射機(jī)制等)
Domainlayer(域?qū)?
(1)業(yè)務(wù)對(duì)象以及業(yè)務(wù)關(guān)系的表達(dá)
(2)處理簡(jiǎn)樸的業(yè)務(wù)邏輯
(3)域?qū)拥膶?duì)象可以穿越表達(dá)層,業(yè)務(wù)層,持久層
軟件分層構(gòu)造使得代碼維護(hù)非常以便,設(shè)計(jì)明確,各層獨(dú)立,專注自己擅長(zhǎng)的領(lǐng)域。
五、什么是OOP?OOP相對(duì)于面向過程編程有哪些長(zhǎng)處?
OOP,Object-OrientedProgramming.面向?qū)ο缶幊滩灰粯佑诿嫦蜻^程編程:
(1)OOP關(guān)注對(duì)象和角色,也就是事物的本質(zhì)
1)OOP把客觀世界中的對(duì)象抽象成對(duì)應(yīng)的類;
2)通過類構(gòu)造實(shí)例;
3)通過依賴、繼承、實(shí)現(xiàn)等形式建立對(duì)象間的通信關(guān)系
(2)OOP易于擴(kuò)展,增長(zhǎng)或變化業(yè)務(wù)的功能,無需大幅改動(dòng)變化源代碼
(3)OOP易于建模,OOP就是軟件架構(gòu)師在計(jì)算機(jī)高級(jí)語言中對(duì)客觀世界的抽象和
再現(xiàn),人們可以很好地理解和建立起計(jì)算機(jī)中的抽象模型
六、談?wù)凮verload和Override的區(qū)別。
答:
措施的I重寫Overriding和重載Overloading是Java多態(tài)性的J不一樣體現(xiàn)。重寫Overriding
是父類與子類之間多態(tài)性的一種體現(xiàn),重載Overloading是一種類中多態(tài)性的一種體現(xiàn)。假
如在子類中定義某措施與其父類有相似的名稱和參數(shù),我們說該措施被重寫(Overriding)。
子類的對(duì)象使用這個(gè)措施時(shí),將調(diào)用子類中的定義,對(duì)它而言,父類中的定義如同被“屏蔽”
了。假如在一種類中定義了多種同名的措施,它們或有不一樣的參數(shù)個(gè)數(shù)或有不一樣的參數(shù)
類型,則稱為措施的I重載(Overloading)。Overloaded的|措施是可以變化返回值的I類型。
七、談?wù)凥ashMap和HashtableaI區(qū)別。
答:HashMap是輕量級(jí)的(線程不安全的,效率高的)集合,Hashtable是重量級(jí)的(線
程安全的,效率低的)集合。
都屬于Map接口的類,實(shí)現(xiàn)了將惟一鍵映射到特定的值上。
HashMap類沒有分類或者排序。它容許一種null鍵和多種null值。
Hashtable類似于HashMap,不過不容許null鍵和null值。它也比HashMap慢,
由于它是同步的。
八、請(qǐng)問abstractclass和interface有什么區(qū)別?
答:
1)接口沒有任何的實(shí)現(xiàn),而抽象類它可以有部分的實(shí)現(xiàn)也可以沒有;
2)假如需要復(fù)用或者共享部分代碼,應(yīng)當(dāng)用抽象類而不是接口;
3)繼承無法處理類型的轉(zhuǎn)換問題,接口就是為了處理這一問題而產(chǎn)生的(Java的單繼
承是接口產(chǎn)生的主線原因)接口是一種抽象的第三方規(guī)范,跟對(duì)象沒什么直接關(guān)系。
九、請(qǐng)問軟件開發(fā)中的設(shè)計(jì)模式你會(huì)使用哪些?
答:我熟悉日勺設(shè)計(jì)模式有單例模式,DAO模式,模板措施,工廠模式,委托代理模式,MVC
模式等。
Singleton模式重要作用是保證在Java應(yīng)用程序中,一種類Class只有一種實(shí)例存在。
Singleton模式一般形式:
定義一種類,它/、J構(gòu)造函數(shù)為private的,它有一種static的private茁J該類變量,在類
初始化時(shí)實(shí)例話,通過一種public的getlnstance措施獲取對(duì)它的引用,繼而調(diào)用其中的措施。
十、類的關(guān)鍵特性有哪些?
類具有封裝性、繼承性和多態(tài)性.
封裝性:
類的封裝性為類的組員提供公有、缺省、保護(hù)和私有等多級(jí)訪問權(quán)限,目的是隱藏類中
的私有變量和類中措施的實(shí)現(xiàn)細(xì)節(jié)。
繼承性:
類的繼承性提供從已存在的類創(chuàng)立新類的機(jī)制,繼承(inheritance)使一種新類自動(dòng)擁
有被繼承類(父類)區(qū)I所有組員。
多態(tài)性:
類的多態(tài)性提供類中措施執(zhí)行的多樣性,多態(tài)性有兩種體現(xiàn)形式:重載和覆蓋。
十一、請(qǐng)問類與對(duì)象有什么區(qū)別?
類
類就是某一種事物的一般性的集合體,是相似或相似的各個(gè)事物共同特性的一種抽象。
對(duì)象
在面向?qū)ο蟾拍钪校瑢?duì)象(Object)是類的實(shí)例(instance),對(duì)象與類的關(guān)系就像變量
與數(shù)據(jù)類型的關(guān)系同樣。
十二、寫出生產(chǎn)者消費(fèi)者模型的實(shí)現(xiàn)
十三、用軟件工程和Java來論述購物車(shoppingcart)系統(tǒng)實(shí)現(xiàn)
十四、文獻(xiàn)系統(tǒng)的)幾種類:FilelnputStream、FileOutputStream>FileReader、FileWriter的(區(qū)別
十五、請(qǐng)寫出JavaAPI中最常用的五個(gè)包,并且各舉兩個(gè)類加以闡明。
十六、請(qǐng)問你在“電信運(yùn)行支撐系統(tǒng)”中碰到了哪些問題?你是怎么處理的?做這個(gè)項(xiàng)目你
最大的收獲是什么?
十七、請(qǐng)說出幾種常用的異常類
答:NullpointException(空指針異常)
ClassNotFoundException(類找不到異常)
ClassCastException(類型轉(zhuǎn)換異常)
IllegalArgumentException(非法參數(shù)異常)
ArilhmeticException(算術(shù)異常)
NumberFormatException(數(shù)據(jù)格式異常)
IndexOulOfBoundsException(數(shù)組下標(biāo)越界異常)
IllegalStateException(非法語句異常)
十八、什么是進(jìn)程和線程??jī)烧呷丈讌^(qū)別是什么?
十九、請(qǐng)簡(jiǎn)要描述一下你做『JShoppingCart項(xiàng)目。
二十、請(qǐng)問網(wǎng)絡(luò)7層協(xié)議,tcp/ip4層協(xié)議是什么?
二十?、Java面向?qū)ο蟮乃拇筇攸c(diǎn)
二十二、public,private,protected,default訪問權(quán)限(可見性)
答:
public:全局可見
protected:繼承體系構(gòu)造之間可見
default(或不寫):同包可見
private:本類可見。
二十三、名詞解釋
CRM
[CustomerRelationshipManagement,客戶關(guān)系管理]
ERP
(EnterpriseResourcePlanning,企業(yè)資源規(guī)劃]
OSS
(OperationSupportSystem,運(yùn)行支撐系統(tǒng)]
BSS
(BusinessSupportSystem,數(shù)據(jù)定義語言]
BOSS
[BusinessOperationSupportSystem,數(shù)據(jù)定義語言]
OA
lOfficeAutomatization,辦公自動(dòng)化]
OOP
SOA
GUI
DDL
[DataDefinitionLanguage,數(shù)據(jù)定義語言]
DML
[DataManipulationLanguage,數(shù)據(jù)操作語言]
WYSIWYG
所見即所得[WhatYouSeeisWhatYouGet]
CMP
CMT
B2B
C2C
B2C
IDE
DOM
Client/Server
CMM
ORM
MIS
MVC
MVC是Model-View-Controller的簡(jiǎn)寫?!盡odel”代表的是應(yīng)用口勺業(yè)務(wù)邏輯(通過
JavaBean,EJB組件實(shí)現(xiàn)),“View”是應(yīng)用的表達(dá)面(由JSP頁面產(chǎn)生),“Controller”是
提供應(yīng)用的處理過程控制(一般是一種Servlet),通過這種設(shè)計(jì)模型把應(yīng)用邏輯,處理過程
和顯示邏輯提成不一樣的組件實(shí)現(xiàn)。這些組件可以進(jìn)行交互和重用。
OLE
CORBA
CORBA原則是公共對(duì)象祈求代理構(gòu)造(CommonObjectRequestBrokerArchitecture),由對(duì)
象管理組織(ObjectManagementGroup,縮寫為OMG)原則化。它的I構(gòu)成是接口定義語言
(IDL),語言綁定(binding:也譯為聯(lián)編)和容許應(yīng)用程序間互操作於J協(xié)議。其目的為:
用不一樣的程序設(shè)計(jì)語言書寫
在不一樣的進(jìn)程中運(yùn)行
為不一樣的操作系統(tǒng)開發(fā)。
UML
UML,原則建模語言,包括用例圖,靜態(tài)圖(包括類圖、對(duì)象圖和包圖),行為圖,交互圖(次序
圖,合作圖),實(shí)現(xiàn)圖等。
XML
CMMI
JRE
J2EE
J2EE是Sun企業(yè)提出W、J多層(multi-diered),分布式(distributed),基于組件(component?base)
的企業(yè)級(jí)應(yīng)用模型(enlerprieseapplicationmodel).在這樣的一種應(yīng)用系統(tǒng)中,可按照功能劃分
為不一樣的組件,這些組件又可在不一樣計(jì)算機(jī)上,并且處在對(duì)應(yīng)的層次(tier)中。所屬層次
包括客戶層(clielnlier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。
JDK
AOP
OO
Container
W3C
JMS
Domain
POJO
JVM
JNDI
JTA
SOAP
[SimpleObjectAccessProtocol,簡(jiǎn)樸對(duì)象訪問協(xié)議]
WSDL
JDO
JDO是Java對(duì)象持久化的I新的規(guī)范,為JavaDataObject的I簡(jiǎn)稱,也是一種用于存取某種數(shù)
據(jù)倉庫中的對(duì)象的原則化API。JDO提供了透明日勺對(duì)象存儲(chǔ),因此對(duì)開發(fā)人員來說,存儲(chǔ)數(shù)
據(jù)對(duì)象完全不需要額外的代碼(如JDBCAPI的使用)。這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到JDO
產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時(shí)間和精力在業(yè)務(wù)邏輯上。此外,JDO
很靈活,由于它可以在任何數(shù)據(jù)底層上運(yùn)行。JDBC只是面向關(guān)系數(shù)據(jù)庫(RDBMS)JDO更
通用,提供到任何數(shù)據(jù)底層的存儲(chǔ)功能,例如關(guān)系數(shù)據(jù)庫、文獻(xiàn)、XML以及對(duì)象數(shù)據(jù)庫
(ODBMS)等等,使得應(yīng)用可移植性更強(qiáng)。
TDD
DAO
IoC
[InversionofControl,控制反轉(zhuǎn)]
RMI
DNS
[InternetDomainNameSystem,因特網(wǎng)域名系統(tǒng)]
URL
URI
二十四、數(shù)據(jù)庫連接池的工作機(jī)制
二十五、互聯(lián)網(wǎng)提供哪些服務(wù)?
二十六、請(qǐng)寫出JSP的幾種隱含內(nèi)置對(duì)象
答:JSP中隱含內(nèi)置對(duì)象
名稱類型注釋和范圍
requestjavax.servlet..ServletRequestrequest
responsejavax.servlet..ServletResponseresponse
pagejavax.lang.Objectpage
Exceptionjava.lang.Throwablepage
pageContextjavax.servlet.jsp.PageContextpage
sessionjavax.servlet..Sessionsession
applicationjavax.servlet.ServletContextServletContext
outjavax.servlet.jsp.JspWriterOutputStream
configjavax.servlet.ServletConfigServletConfig
JSP共有如下9種基本內(nèi)置組件(可與ASP日勺6種內(nèi)部組件相對(duì)應(yīng)):
request顧客端祈求,此祈求會(huì)包括來自GET/POST祈求的參數(shù)
response網(wǎng)頁傳回顧客端的回應(yīng)
pageJSP網(wǎng)頁自身
exception針對(duì)錯(cuò)誤網(wǎng)頁,未捕捉W、J例外
pageContext網(wǎng)頁的屬性是在這里管理
session與祈求有關(guān)日勺會(huì)話期
applicationservlet正在執(zhí)行H勺內(nèi)容
out用來傳送回應(yīng)時(shí)輸出
configServlet日勺構(gòu)架部件
二十七、請(qǐng)你談?wù)凷SH整合
答:SSH:
Struts(表達(dá)層)4-Spring(業(yè)務(wù)層)+Hibemate(持久層)
Struts:
Struts是一種表達(dá)層框架,重要作用是界面展示,接受祈求,分發(fā)祈求。
在MVC框架中,Struts屬于VC層次,負(fù)責(zé)界面體現(xiàn),負(fù)責(zé)MVC關(guān)系的分發(fā)。(View:
沿用JSP,,F(xiàn)orm,Tag,Resourse;Controller:ActionServlet,struts-config.xmLAction)
Hibernate:
Hibernate是一種持久層框架,它只負(fù)責(zé)與關(guān)系數(shù)據(jù)庫日勺操作。
Spring:
Spring是一種業(yè)務(wù)層框架,是一種整合的I框架,可以很好地黏合表達(dá)層與持久層。
二十八、應(yīng)用服務(wù)器與WebServerH勺區(qū)別
二十九、JavaServletAPI中forward()與redirect()Wl區(qū)別
答:
前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;后
者則是完全H勺跳轉(zhuǎn),瀏覽器將會(huì)得到跳轉(zhuǎn)H勺地址,并重新發(fā)送祈求鏈接。這樣,從瀏覽器H勺
地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。因此,前者愈加高效,在前者可以滿足需要時(shí),盡量
使用forward。措施,并且,這樣也有助于隱藏實(shí)際的J鏈接。在有些狀況下,例如,需要跳
轉(zhuǎn)到一種其他服務(wù)器上的資源,則必須使用sendRedirect。措施。
三十、寫一種簡(jiǎn)樸的C/S構(gòu)造程序,Java的通信編程,編程題(或問答),用JAVASOCKET
編程,讀服務(wù)器幾種字符,再寫入當(dāng)?shù)仫@示?
答:Server端程序:
packagetest;
importjava.net.
importjava.io.*;
publicclassServer
I
privateServerSocketss;
privateSocketsocket;
privateBufferedReaderin;
privatePrintWriterout;
publicServer()
try
ss=newServerSocket(10000);
while(true)
I
socket=ss.accept();
StringRemotelP=socket.getlnetAddress().getHostAddress();
StringRemotePort=〃:"+socket.getLocalPort();
System,out.printlnC'Aclientcomein!IP:z/+RemoteIP+RemotePort);
in=newBufferedReader(new
InputStreamReader(socket,getInputStream0));
Stringline=in.readLineO;
System,out.println(z,Cleintsendis:〃+line);
out=newPrintWriter(socket.getOutputStreamO,true);
out.println(z,YourMessageReceived!”);
out.closeO;
in.close();
socket,close();
)
}catch(lOExceptione)
out.printIn("wrong");
)
)
publicstaticvoidmain(String口args)
{
newServer();
)
);
Client端程序:
packagetest;
importjava.io.*;
importjava.net.
publicclassClient
(
Socketsocket;
BufferedReaderin;
PrintWriterout;
publicClient()
try
System.out.println(/zTrytoConnectto127.0.0.1:10000");
socket=newSocket(,z127.0.0.10000);
System,out.println(z,TheServerConnected!");
System.out.println(,,PleaseentersomeCharacter:;
BufferedReaderline=newBufferedReader(new
InputStreamReader(System,in));
out=newPrintWriter(socket.getOutputStreamO,true);
out.println(line.readLineO);
in=newBufferedReader(newInputStreamReader(socket.getlnputStreamO));
System,out.println(in.readLineO);
out.close();
in.close();
socket,close();
}catch(lOExceptione)
{
out.printin("Wrong");
)
)
publicstaticvoidmain(String[]args)
newClient();
)
);
九、請(qǐng)問軟件開發(fā)中的設(shè)計(jì)模式你會(huì)使用哪些?
答:我熟悉日勺設(shè)計(jì)模式有單例模式,DAO模式,模板措施,工廠模式,委托代理模式,MVC
模式等。
Singleton模式重要作用是保證在Java應(yīng)用程序中,一種類Class只有一種實(shí)例存在。
Singleton模式一般形式:
定義一種類,它/、J構(gòu)造函數(shù)為private的,它有一種static的private茁J該類變量,在類
初始化時(shí)實(shí)例話,通過一種public的getlnstance措施獲取對(duì)它的引用,繼而調(diào)用其中的措施。
十、類的關(guān)鍵特性有哪些?
類具有封裝性、繼承性和多態(tài)性.
封裝性:
類的封裝性為類的組員提供公有、缺省、保護(hù)和私有等多級(jí)訪問權(quán)限,目的是隱藏類中
的私有變量和類中措施的實(shí)現(xiàn)細(xì)節(jié)。
繼承性:
類的繼承性提供從已存在日勺類創(chuàng)立新類的機(jī)制,繼承(inheritance)使一種新類自動(dòng)擁
有被繼承類(父類)的所有組員。
多態(tài)性:
類的多態(tài)性提供類中措施執(zhí)行的多樣性,多態(tài)性有兩種體現(xiàn)形式:重載和覆蓋。
十一、請(qǐng)問類與對(duì)象有什么區(qū)別?
類
類就是某一種事物的一般性的集合體,是相似或相似的各個(gè)事物共同特性的I一種抽象。
對(duì)象
在面向?qū)ο蟾拍钪?,?duì)象(Object)是類的實(shí)例(instance)。對(duì)象與類隹)關(guān)系就像變量
與數(shù)據(jù)類型的關(guān)系同樣。
十二、寫出生產(chǎn)者消費(fèi)者模型的實(shí)現(xiàn)
十三、用軟件工程和Java來論述購物車(shoppingcart)系統(tǒng)實(shí)現(xiàn)
十四、文獻(xiàn)系統(tǒng)的幾種類:FilelnputStream、FileOutputStream、FileReader、FileWriter時(shí)區(qū)另U
十五、請(qǐng)寫出JavaAPI中最常用時(shí)五個(gè)包,并且各舉兩個(gè)類加以闡明。
十六、請(qǐng)問你在“電信運(yùn)行支撐系統(tǒng)”中碰到了哪些問題?你是怎么處理日勺?做這個(gè)項(xiàng)目你
最大的收獲是什么?
十七、請(qǐng)說出幾種常用的異常類
答:NullpointException(空指針異常)
ClassNotFoundException(類找不到異常)
ClassCastException(類型轉(zhuǎn)換異常)
IllegalArgumentException(非法參數(shù)異常)
ArithmeticException(算術(shù)異常)
NumberFormatException(數(shù)據(jù)格式異常)
IndexOutOfBoundsException(數(shù)組下標(biāo)越界異常)
IllegalStateException(非法語句異常)
十八、什么是進(jìn)程和線程??jī)烧呷丈讌^(qū)別是什么?
十九、請(qǐng)簡(jiǎn)要描述~下你做的IShoppingCart項(xiàng)目。
二十、請(qǐng)問網(wǎng)絡(luò)7層協(xié)議,tcp/ip4層協(xié)議是什么?
二1一一、Java面向?qū)ο蟮乃拇筇攸c(diǎn)
二十二、public,private,protected,default訪問權(quán)限(可見性)
答:
public:全局可見
protected:繼承體系構(gòu)造之間可見
default(或不寫):同包可見
private:本類可見。
二十三、名詞解釋
CRM
ICustomerRelationshipManagement,客戶關(guān)系管理]
ERP
(EnterpriseResourcePlanning,企業(yè)資源規(guī)劃]
OSS
(OperationSupportSystem,運(yùn)行支撐系統(tǒng)]
BSS
[BusinessSupportSystem,數(shù)據(jù)定義語言]
BOSS
[BusinessOperationSupportSystem,數(shù)據(jù)定義語言]
OA
|OfficeAutomatization,辦公自動(dòng)化]
OOP
SOA
GUI
DDL
[DataDefinitionLanguage,數(shù)據(jù)定義語言]
DML
[DataManipulationLanguage,數(shù)據(jù)操作語言]
WYSIWYG
所見即所得[WhatYouSeeisWhatYouGet]
CMP
CMT
B2B
C2C
B2C
IDE
DOM
Client/Server
CMM
ORM
MIS
MVC
MVC是Model-View—CongHer的簡(jiǎn)寫。"Model”代表的是應(yīng)用的業(yè)務(wù)邏輯(通過
JavaBean,EJB組件實(shí)現(xiàn)),“View”是應(yīng)用口勺表達(dá)面(由JSP頁面產(chǎn)生),“Controller”是
提供應(yīng)用的處理過程控制(一般是一種Servlet),通過這種設(shè)計(jì)模型把應(yīng)用邏輯,處理過
程和顯示邏輯提成不一樣的組件實(shí)現(xiàn)。這些組件可以進(jìn)行交互和重用。
OLE
CORBA
CORBA原則是公共對(duì)象祈求代理構(gòu)造(CommonObjectRequestBrokerArchitecture),由對(duì)
象管理組織(ObjectManagementGroup,縮寫為OMG)原則化。它的構(gòu)成是接口定義語言
(IDL),語言綁定(binding:也譯為聯(lián)編)和容許應(yīng)用程序間互操作的協(xié)議。其目的I為:
用不一樣的程序設(shè)計(jì)語言書寫
在不一樣的進(jìn)程中運(yùn)行
為不一樣的操作系統(tǒng)開發(fā)。
UML
UML,原則建模語言,包括用例圖,靜態(tài)圖(包括類圖、對(duì)象圖和包圖),行為圖,交互圖(次序
圖,合作圖),實(shí)現(xiàn)圖等。
XML
CMMI
JRE
J2EE
J2EE是Sun企業(yè)提的多層(multi-diered),分布式(distributed),基于組件(component-base)
口勺企業(yè)級(jí)應(yīng)用模型(enterpriese叩plicalionmodel).在這樣的I一種應(yīng)用系統(tǒng)中,可按照功能劃分
為不?樣的組件,這些組件又可在不?樣計(jì)算機(jī)上,并且處在對(duì)應(yīng)的層次(tier)中。所屬層次
包括客戶層(clietntier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。
JDK
AOP
00
Container
W3C
JMS
Domain
POJO
JVM
JNDI
JTA
SOAP
[SimpleObjectAccessProtocol,筒樸對(duì)象訪問協(xié)議]
WSDL
JDO
JDO是Java對(duì)象持久化的新口勺規(guī)范,為JavaDataObject的簡(jiǎn)稱,也是一種用于存取某種數(shù)
據(jù)倉庫中的對(duì)象的原則化API。JDO提供了透明的對(duì)象存儲(chǔ),因此對(duì)開發(fā)人員來說,存儲(chǔ)數(shù)
據(jù)對(duì)象完全不需要額外的代碼(如JDBCAPI的使用)。這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到JDO
產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時(shí)間和精力在業(yè)務(wù)邏輯上。此外,JDO
很靈活,由于它可以在任何數(shù)據(jù)底層上運(yùn)行。JDBC只是面向關(guān)系數(shù)據(jù)庫(RDBMS)JDO更
通用,提供到任何數(shù)據(jù)底層的存儲(chǔ)功能,例如關(guān)系數(shù)據(jù)庫、文獻(xiàn)、XML以及對(duì)象數(shù)據(jù)庫
(ODBMS)等等,使得應(yīng)用可移植性更強(qiáng)。
TDD
DAO
IoC
[InversionofControl,控制反轉(zhuǎn)]
RMI
DNS
[InternetDomainNameSystem,因特網(wǎng)域名系統(tǒng)]
URL
URI
二十四、數(shù)據(jù)庫連接池的工作機(jī)制
二十五、互聯(lián)網(wǎng)提供哪些服務(wù)?
二十六、請(qǐng)寫出JSP的幾種隱含內(nèi)置對(duì)象
答:JSP中隱含內(nèi)置對(duì)象
名稱類型注釋和范圍
requestjavax.servlet.ServletRequestrequest
responsejavax.servlet..ServletResponseresponse
pagejavax.lang.Objectpage
Exceptionjava.lang.Throwablepage
pageContextjavax.servlet.jsp.PageContextpage
sessionjavax.servlet..Sessionsession
applicationjavax.servIet.ServletContextServletContext
outjavax.servlet.jsp.JspWriterOutputStream
configjavax.servlet.ServletConfigServletConfig
JSP共有如下9種基本內(nèi)置組件(可與ASP的6種內(nèi)部組件相對(duì)應(yīng)):
request顧客端祈求,此祈求會(huì)包括來自GET/POST祈求的參數(shù)
response網(wǎng)頁傳回顧客端股I回應(yīng)
pageJSP網(wǎng)頁自身
exception針對(duì)錯(cuò)誤網(wǎng)頁,未捕捉H勺例外
pageContext網(wǎng)頁日勺屬性是在這里管理
session與祈求有關(guān)的會(huì)話期
applicationservlet正在執(zhí)行日勺內(nèi)容
out用來傳送回應(yīng)時(shí)輸出
configServletH勺構(gòu)架部件
二十七、請(qǐng)你談?wù)凷SH整合
答:SSH:
Struts(表達(dá)層)+Spring(業(yè)務(wù)層)+Hibemate(持久層)
Struts:
Struts是一種表達(dá)層框架,重要作用是界面展示,接受祈求,分發(fā)祈求。
在MVC框架中,Struts屬于VC層次,負(fù)責(zé)界面體現(xiàn),負(fù)責(zé)MVC關(guān)系的分發(fā)。(View:
沿用JSP,,Form,Tag,Resourse;Controller:ActionServlet,struts-config.xml,Action)
Hibernate:
Hibernate是一種持久層框架,它只負(fù)責(zé)與關(guān)系數(shù)據(jù)庫的操作。
Spring:
Spring是一種'業(yè)務(wù)層框架,是一種整合的框架,可以很好地黏合表達(dá)層與持久層。
二十八、應(yīng)用服務(wù)器與WebServer的區(qū)別
二十九、JavaServletAPI中forward()與redirect。區(qū)J區(qū)別
答:
前者僅是容器中控制權(quán)的J轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;后
者則是完全日勺跳轉(zhuǎn),瀏覽器將會(huì)得到跳轉(zhuǎn)日勺地址,并重新發(fā)送祈求鏈接。這樣,從瀏覽器日勺
地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。因此,前者愈加高效,在前者可以滿足需要時(shí),盡量
使用forward。措施,并且,這樣也有助于隱藏實(shí)際的鏈接。在有些狀況下,例
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建師范大學(xué)《田徑》2023-2024學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《數(shù)字系統(tǒng)集成一》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《美術(shù)評(píng)論與寫作》2023-2024學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《地圖學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 四川省成都市2019年中考英語真題(含答案)
- 部分非常規(guī)作業(yè)許可證(高壓清洗類作業(yè))
- 專題研討活動(dòng)記錄
- 6《校園里的號(hào)令》第二課時(shí)(教學(xué)設(shè)計(jì))-部編版道德與法治一年級(jí)上冊(cè)
- 2024屆四川省成都市成都市樹德中學(xué)高考預(yù)測(cè)金卷數(shù)學(xué)試題(安徽卷)
- 2024年內(nèi)蒙古客運(yùn)資格證考試題庫app
- 2019新人教版高中英語選擇性必修四全冊(cè)課文翻譯(英漢對(duì)照)
- 08BJ9-1室外工程-圍墻圍欄
- 2024年全國統(tǒng)一考試高考新課標(biāo)Ⅱ卷數(shù)學(xué)試題(真題+答案)
- 美的簡(jiǎn)單高效的管理邏輯
- 2024-2030年電壁爐行業(yè)市場(chǎng)現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評(píng)估規(guī)劃分析研究報(bào)告
- 創(chuàng)新方法論智慧樹知到期末考試答案章節(jié)答案2024年西安理工大學(xué)
- 【《離婚夫妻共有股權(quán)分割適用法律問題研究》11000字(論文)】
- 部編版四年級(jí)道德與法治上冊(cè)第5課《這些事我來做》精美課件
- 反詐防騙主題班會(huì)課件
- 新能源汽車動(dòng)力系統(tǒng)優(yōu)化與控制
- 2024年鎮(zhèn)沅縣國翔國有資產(chǎn)投資管理集團(tuán)有限公司招聘筆試沖刺題(帶答案解析)
評(píng)論
0/150
提交評(píng)論