JAVA培訓(xùn)資料
一、Java語(yǔ)言
1、面向?qū)ο蟮娜齻€(gè)基本特征
2、方法重載和方法重寫(xiě)的概念和區(qū)別
?3、接口和內(nèi)部類(lèi)、抽象類(lèi)的特性
4、文件讀寫(xiě)的基本類(lèi)
5、串行化的注意事項(xiàng)以及如何實(shí)現(xiàn)串行化
?6、線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系
?7、線程的同步、如何實(shí)現(xiàn)線程的同步
8、幾種常用的數(shù)據(jù)結(jié)構(gòu)及內(nèi)部實(shí)現(xiàn)原理。
9、Socket通信(TCP、UDP區(qū)別及Java實(shí)現(xiàn)方式)
10、Java的事件委托機(jī)制和垃圾回收機(jī)制
11、JDBC調(diào)用數(shù)據(jù)庫(kù)的基本步驟
12、解析XML文件的幾種方式和區(qū)別
13、Java四種基本權(quán)限的定義
14、Java的國(guó)際化
二、JSP
?1、至少要能說(shuō)出7個(gè)隱含對(duì)象以及他們的區(qū)別
?2、forward 和redirect的區(qū)別
?3、JSP的常用指令
三、servlet
1、什么情況下調(diào)用doGet()和doPost()?
2、servlet的init()方法和service()方法的區(qū)別
3、servlet的生命周期
4、如何現(xiàn)實(shí)servlet的單線程模式
5、servlet的配置
6、四種會(huì)話跟蹤技術(shù)
四、EJB
1、EJB容器提供的服務(wù)
主要提供聲明周期管理、代碼產(chǎn)生、持續(xù)性管理、安全、事務(wù)管理、鎖和并發(fā)行管理等服務(wù)。
?2、EJB的角色和三個(gè)對(duì)象
EJB角色主要包括Bean開(kāi)發(fā)者 應(yīng)用組裝者 部署者 系統(tǒng)管理員 EJB容器提供者 EJB服務(wù)器提供者
三個(gè)對(duì)象是Remote(Local)接口、Home(LocalHome)接口,Bean類(lèi)
2、EJB的幾種類(lèi)型
會(huì)話(Session)Bean ,實(shí)體(Entity)Bean 消息驅(qū)動(dòng)的(Message Driven)Bean
會(huì)話Bean又可分為有狀態(tài)(Stateful)和無(wú)狀態(tài)(Stateless)兩種
實(shí)體Bean可分為Bean管理的持續(xù)性(BMP)和容器管理的持續(xù)性(CMP)兩種
?3、bean 實(shí)例的生命周期
對(duì)于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在緩沖池管理,而對(duì)于Entity Bean和Statefull Session Bean存在Cache管理,通常包含創(chuàng)建實(shí)例,設(shè)置上下文、創(chuàng)建EJB Object(create)、業(yè)務(wù)方法調(diào)用、remove等過(guò)程,對(duì)于存在緩沖池管理的Bean,在create之后實(shí)例并不從內(nèi)存清除,而是采用緩沖池調(diào)度機(jī)制不斷重用實(shí)例,而對(duì)于存在Cache管理的Bean則通過(guò)激活和去激活機(jī)制保持Bean的狀態(tài)并限制內(nèi)存中實(shí)例數(shù)量。
4、激活機(jī)制
以Statefull Session Bean 為例:其Cache大小決定了內(nèi)存中可以同時(shí)存在的Bean實(shí)例的數(shù)量,根據(jù)MRU或NRU算法,實(shí)例在激活和去激活狀態(tài)之間遷移,激活機(jī)制是當(dāng)客戶(hù)端調(diào)用某個(gè)EJB實(shí)例業(yè)務(wù)方法時(shí),如果對(duì)應(yīng)EJB Object發(fā)現(xiàn)自己沒(méi)有綁定對(duì)應(yīng)的Bean實(shí)例則從其去激活Bean存儲(chǔ)中(通過(guò)序列化機(jī)制存儲(chǔ)實(shí)例)回復(fù)(激活)此實(shí)例。狀態(tài)變遷前會(huì)調(diào)用對(duì)應(yīng)的ejbActive和ejbPassivate方法。
?5、remote接口和home接口主要作用
remote接口定義了業(yè)務(wù)方法,用于EJB客戶(hù)端調(diào)用業(yè)務(wù)方法
;home接口是EJB工廠用于創(chuàng)建和移除查找EJB實(shí)例
6、客服端調(diào)用EJB對(duì)象的幾個(gè)基本步驟
一、 設(shè)置JNDI服務(wù)工廠以及JNDI服務(wù)地址系統(tǒng)屬性
二、 查找Home接口
三、 從Home接口調(diào)用Create方法創(chuàng)建Remote接口
四、 通過(guò)Remote接口調(diào)用其業(yè)務(wù)方法
五、數(shù)據(jù)庫(kù)
1、存儲(chǔ)過(guò)程的編寫(xiě)
2、基本的SQL語(yǔ)句
六、weblogic
1、 如何給weblogic指定大小的內(nèi)存?
在啟動(dòng)Weblogic的腳本中(位于所在Domian對(duì)應(yīng)服務(wù)器目錄下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以調(diào)整最小內(nèi)存為32M,最大200M
2、 如何設(shè)定的weblogic的熱啟動(dòng)模式(開(kāi)發(fā)模式)與產(chǎn)品發(fā)布模式?
可以在管理控制臺(tái)中修改對(duì)應(yīng)服務(wù)器的啟動(dòng)模式為開(kāi)發(fā)或產(chǎn)品模式之一。或者修改服務(wù)的啟動(dòng)文件或者commenv文件,增加set PRODUCTION_MODE=true。
3、 如何啟動(dòng)時(shí)不需輸入用戶(hù)名與密碼?
修改服務(wù)啟動(dòng)文件,增加 WLS_USER和WLS_PW項(xiàng)。也可以在boot.properties文件中增加加密過(guò)的用戶(hù)名和密碼.
4、 在weblogic管理制臺(tái)中對(duì)一個(gè)應(yīng)用域(或者說(shuō)是一個(gè)網(wǎng)站,Domain)進(jìn)行jms及ejb或連接池等相關(guān)信息進(jìn)行配置后,實(shí)際保存在什么文件中?
保存在此Domain的config.xml文件中,它是服務(wù)器的核心配置文件。
5、 說(shuō)說(shuō)weblogic中一個(gè)Domain的缺省目錄結(jié)構(gòu)?比如要將一個(gè)簡(jiǎn)單的helloWorld.jsp放入何目錄下,然的在瀏覽器上就可打入http://主機(jī):端口號(hào)//helloword.jsp就可以看到運(yùn)行結(jié)果了? 又比如這其中用到了一個(gè)自己寫(xiě)的javaBean該如何辦?
Domain目錄\服務(wù)器目錄\applications,將應(yīng)用目錄放在此目錄下將可以作為應(yīng)用訪問(wèn),如果是Web應(yīng)用,應(yīng)用目錄需要滿(mǎn)足Web應(yīng)用目錄要求,jsp文件可以直接放在應(yīng)用目錄中,Javabean需要放在應(yīng)用目錄的WEB-INF目錄的classes目錄中,設(shè)置服務(wù)器的缺省應(yīng)用將可以實(shí)現(xiàn)在瀏覽器上無(wú)需輸入應(yīng)用名。
6、 如何查看在weblogic中已經(jīng)發(fā)布的EJB?
可以使用管理控制臺(tái),在它的Deployment中可以查看所有已發(fā)布的EJB
7、 如何在weblogic中進(jìn)行ssl配置與客戶(hù)端的認(rèn)證配置或說(shuō)說(shuō)j2ee(標(biāo)準(zhǔn))進(jìn)行ssl的配置
缺省安裝中使用DemoIdentity.jks和DemoTrust.jks KeyStore實(shí)現(xiàn)SSL,需要配置服務(wù)器使用Enable SSL,配置其端口,在產(chǎn)品模式下需要從CA獲取私有密鑰和數(shù)字證書(shū),創(chuàng)建identity和trust keystore,裝載獲得的密鑰和數(shù)字證書(shū)。可以配置此SSL連接是單向還是雙向的。
?8、在weblogic中發(fā)布ejb需涉及到哪些配置文件
不同類(lèi)型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP實(shí)體Bean一般還需要weblogic-cmp-rdbms-jar.xml
9、EJB需直接實(shí)現(xiàn)它的業(yè)務(wù)接口或Home接口嗎,請(qǐng)簡(jiǎn)述理由.
遠(yuǎn)程接口和Home接口不需要直接實(shí)現(xiàn),他們的實(shí)現(xiàn)代碼是由服務(wù)器產(chǎn)生的,程序運(yùn)行中對(duì)應(yīng)實(shí)現(xiàn)類(lèi)會(huì)作為對(duì)應(yīng)接口類(lèi)型的實(shí)例被使用。
10、說(shuō)說(shuō)在weblogic中開(kāi)發(fā)消息Bean時(shí)的persistent與non-persisten的差別
persistent方式的MDB可以保證消息傳遞的可靠性,也就是如果EJB容器出現(xiàn)問(wèn)題而JMS服務(wù)器依然會(huì)將消息在此MDB可用的時(shí)候發(fā)送過(guò)來(lái),而non-persistent方式的消息將被丟棄。
11、說(shuō)說(shuō)你所熟悉或聽(tīng)說(shuō)過(guò)的j2ee中的幾種常用模式?及對(duì)設(shè)計(jì)模式的一些看法
Session Facade Pattern:使用SessionBean訪問(wèn)EntityBean
Message Facade Pattern:實(shí)現(xiàn)異步調(diào)用
EJB Command Pattern:使用Command JavaBeans取代SessionBean,實(shí)現(xiàn)輕量級(jí)訪問(wèn)
Data Transfer Object Factory:通過(guò)DTO Factory簡(jiǎn)化EntityBean數(shù)據(jù)提供特性
Generic Attribute Access:通過(guò)AttibuteAccess接口簡(jiǎn)化EntityBean數(shù)據(jù)提供特性
Business Interface:通過(guò)遠(yuǎn)程(本地)接口和Bean類(lèi)實(shí)現(xiàn)相同接口規(guī)范業(yè)務(wù)邏輯一致性
EJB架構(gòu)的設(shè)計(jì)好壞將直接影響系統(tǒng)的性能、可擴(kuò)展性、可維護(hù)性、組件可重用性及開(kāi)發(fā)效率。項(xiàng)目越復(fù)雜,項(xiàng)目隊(duì)伍越龐大則越能體現(xiàn)良好設(shè)計(jì)的重要性
一、Java語(yǔ)言
1、面向?qū)ο蟮娜齻€(gè)基本特征
2、方法重載和方法重寫(xiě)的概念和區(qū)別
?3、接口和內(nèi)部類(lèi)、抽象類(lèi)的特性
4、文件讀寫(xiě)的基本類(lèi)
5、串行化的注意事項(xiàng)以及如何實(shí)現(xiàn)串行化
?6、線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系
?7、線程的同步、如何實(shí)現(xiàn)線程的同步
8、幾種常用的數(shù)據(jù)結(jié)構(gòu)及內(nèi)部實(shí)現(xiàn)原理。
9、Socket通信(TCP、UDP區(qū)別及Java實(shí)現(xiàn)方式)
10、Java的事件委托機(jī)制和垃圾回收機(jī)制
11、JDBC調(diào)用數(shù)據(jù)庫(kù)的基本步驟
12、解析XML文件的幾種方式和區(qū)別
13、Java四種基本權(quán)限的定義
14、Java的國(guó)際化
二、JSP
?1、至少要能說(shuō)出7個(gè)隱含對(duì)象以及他們的區(qū)別
?2、forward 和redirect的區(qū)別
?3、JSP的常用指令
三、servlet
1、什么情況下調(diào)用doGet()和doPost()?
2、servlet的init()方法和service()方法的區(qū)別
3、servlet的生命周期
4、如何現(xiàn)實(shí)servlet的單線程模式
5、servlet的配置
6、四種會(huì)話跟蹤技術(shù)
四、EJB
1、EJB容器提供的服務(wù)
主要提供聲明周期管理、代碼產(chǎn)生、持續(xù)性管理、安全、事務(wù)管理、鎖和并發(fā)行管理等服務(wù)。
?2、EJB的角色和三個(gè)對(duì)象
EJB角色主要包括Bean開(kāi)發(fā)者 應(yīng)用組裝者 部署者 系統(tǒng)管理員 EJB容器提供者 EJB服務(wù)器提供者
三個(gè)對(duì)象是Remote(Local)接口、Home(LocalHome)接口,Bean類(lèi)
2、EJB的幾種類(lèi)型
會(huì)話(Session)Bean ,實(shí)體(Entity)Bean 消息驅(qū)動(dòng)的(Message Driven)Bean
會(huì)話Bean又可分為有狀態(tài)(Stateful)和無(wú)狀態(tài)(Stateless)兩種
實(shí)體Bean可分為Bean管理的持續(xù)性(BMP)和容器管理的持續(xù)性(CMP)兩種
?3、bean 實(shí)例的生命周期
對(duì)于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在緩沖池管理,而對(duì)于Entity Bean和Statefull Session Bean存在Cache管理,通常包含創(chuàng)建實(shí)例,設(shè)置上下文、創(chuàng)建EJB Object(create)、業(yè)務(wù)方法調(diào)用、remove等過(guò)程,對(duì)于存在緩沖池管理的Bean,在create之后實(shí)例并不從內(nèi)存清除,而是采用緩沖池調(diào)度機(jī)制不斷重用實(shí)例,而對(duì)于存在Cache管理的Bean則通過(guò)激活和去激活機(jī)制保持Bean的狀態(tài)并限制內(nèi)存中實(shí)例數(shù)量。
4、激活機(jī)制
以Statefull Session Bean 為例:其Cache大小決定了內(nèi)存中可以同時(shí)存在的Bean實(shí)例的數(shù)量,根據(jù)MRU或NRU算法,實(shí)例在激活和去激活狀態(tài)之間遷移,激活機(jī)制是當(dāng)客戶(hù)端調(diào)用某個(gè)EJB實(shí)例業(yè)務(wù)方法時(shí),如果對(duì)應(yīng)EJB Object發(fā)現(xiàn)自己沒(méi)有綁定對(duì)應(yīng)的Bean實(shí)例則從其去激活Bean存儲(chǔ)中(通過(guò)序列化機(jī)制存儲(chǔ)實(shí)例)回復(fù)(激活)此實(shí)例。狀態(tài)變遷前會(huì)調(diào)用對(duì)應(yīng)的ejbActive和ejbPassivate方法。
?5、remote接口和home接口主要作用
remote接口定義了業(yè)務(wù)方法,用于EJB客戶(hù)端調(diào)用業(yè)務(wù)方法
;home接口是EJB工廠用于創(chuàng)建和移除查找EJB實(shí)例
6、客服端調(diào)用EJB對(duì)象的幾個(gè)基本步驟
一、 設(shè)置JNDI服務(wù)工廠以及JNDI服務(wù)地址系統(tǒng)屬性
二、 查找Home接口
三、 從Home接口調(diào)用Create方法創(chuàng)建Remote接口
四、 通過(guò)Remote接口調(diào)用其業(yè)務(wù)方法
五、數(shù)據(jù)庫(kù)
1、存儲(chǔ)過(guò)程的編寫(xiě)
2、基本的SQL語(yǔ)句
六、weblogic
1、 如何給weblogic指定大小的內(nèi)存?
在啟動(dòng)Weblogic的腳本中(位于所在Domian對(duì)應(yīng)服務(wù)器目錄下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以調(diào)整最小內(nèi)存為32M,最大200M
2、 如何設(shè)定的weblogic的熱啟動(dòng)模式(開(kāi)發(fā)模式)與產(chǎn)品發(fā)布模式?
可以在管理控制臺(tái)中修改對(duì)應(yīng)服務(wù)器的啟動(dòng)模式為開(kāi)發(fā)或產(chǎn)品模式之一。或者修改服務(wù)的啟動(dòng)文件或者commenv文件,增加set PRODUCTION_MODE=true。
3、 如何啟動(dòng)時(shí)不需輸入用戶(hù)名與密碼?
修改服務(wù)啟動(dòng)文件,增加 WLS_USER和WLS_PW項(xiàng)。也可以在boot.properties文件中增加加密過(guò)的用戶(hù)名和密碼.
4、 在weblogic管理制臺(tái)中對(duì)一個(gè)應(yīng)用域(或者說(shuō)是一個(gè)網(wǎng)站,Domain)進(jìn)行jms及ejb或連接池等相關(guān)信息進(jìn)行配置后,實(shí)際保存在什么文件中?
保存在此Domain的config.xml文件中,它是服務(wù)器的核心配置文件。
5、 說(shuō)說(shuō)weblogic中一個(gè)Domain的缺省目錄結(jié)構(gòu)?比如要將一個(gè)簡(jiǎn)單的helloWorld.jsp放入何目錄下,然的在瀏覽器上就可打入http://主機(jī):端口號(hào)//helloword.jsp就可以看到運(yùn)行結(jié)果了? 又比如這其中用到了一個(gè)自己寫(xiě)的javaBean該如何辦?
Domain目錄\服務(wù)器目錄\applications,將應(yīng)用目錄放在此目錄下將可以作為應(yīng)用訪問(wèn),如果是Web應(yīng)用,應(yīng)用目錄需要滿(mǎn)足Web應(yīng)用目錄要求,jsp文件可以直接放在應(yīng)用目錄中,Javabean需要放在應(yīng)用目錄的WEB-INF目錄的classes目錄中,設(shè)置服務(wù)器的缺省應(yīng)用將可以實(shí)現(xiàn)在瀏覽器上無(wú)需輸入應(yīng)用名。
6、 如何查看在weblogic中已經(jīng)發(fā)布的EJB?
可以使用管理控制臺(tái),在它的Deployment中可以查看所有已發(fā)布的EJB
7、 如何在weblogic中進(jìn)行ssl配置與客戶(hù)端的認(rèn)證配置或說(shuō)說(shuō)j2ee(標(biāo)準(zhǔn))進(jìn)行ssl的配置
缺省安裝中使用DemoIdentity.jks和DemoTrust.jks KeyStore實(shí)現(xiàn)SSL,需要配置服務(wù)器使用Enable SSL,配置其端口,在產(chǎn)品模式下需要從CA獲取私有密鑰和數(shù)字證書(shū),創(chuàng)建identity和trust keystore,裝載獲得的密鑰和數(shù)字證書(shū)。可以配置此SSL連接是單向還是雙向的。
?8、在weblogic中發(fā)布ejb需涉及到哪些配置文件
不同類(lèi)型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP實(shí)體Bean一般還需要weblogic-cmp-rdbms-jar.xml
9、EJB需直接實(shí)現(xiàn)它的業(yè)務(wù)接口或Home接口嗎,請(qǐng)簡(jiǎn)述理由.
遠(yuǎn)程接口和Home接口不需要直接實(shí)現(xiàn),他們的實(shí)現(xiàn)代碼是由服務(wù)器產(chǎn)生的,程序運(yùn)行中對(duì)應(yīng)實(shí)現(xiàn)類(lèi)會(huì)作為對(duì)應(yīng)接口類(lèi)型的實(shí)例被使用。
10、說(shuō)說(shuō)在weblogic中開(kāi)發(fā)消息Bean時(shí)的persistent與non-persisten的差別
persistent方式的MDB可以保證消息傳遞的可靠性,也就是如果EJB容器出現(xiàn)問(wèn)題而JMS服務(wù)器依然會(huì)將消息在此MDB可用的時(shí)候發(fā)送過(guò)來(lái),而non-persistent方式的消息將被丟棄。
11、說(shuō)說(shuō)你所熟悉或聽(tīng)說(shuō)過(guò)的j2ee中的幾種常用模式?及對(duì)設(shè)計(jì)模式的一些看法
Session Facade Pattern:使用SessionBean訪問(wèn)EntityBean
Message Facade Pattern:實(shí)現(xiàn)異步調(diào)用
EJB Command Pattern:使用Command JavaBeans取代SessionBean,實(shí)現(xiàn)輕量級(jí)訪問(wèn)
Data Transfer Object Factory:通過(guò)DTO Factory簡(jiǎn)化EntityBean數(shù)據(jù)提供特性
Generic Attribute Access:通過(guò)AttibuteAccess接口簡(jiǎn)化EntityBean數(shù)據(jù)提供特性
Business Interface:通過(guò)遠(yuǎn)程(本地)接口和Bean類(lèi)實(shí)現(xiàn)相同接口規(guī)范業(yè)務(wù)邏輯一致性
EJB架構(gòu)的設(shè)計(jì)好壞將直接影響系統(tǒng)的性能、可擴(kuò)展性、可維護(hù)性、組件可重用性及開(kāi)發(fā)效率。項(xiàng)目越復(fù)雜,項(xiàng)目隊(duì)伍越龐大則越能體現(xiàn)良好設(shè)計(jì)的重要性