自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

介紹JAVA編程語言的基礎(chǔ)知識(三)

開發(fā) 后端
本文介紹的是java程序設(shè)計語言的一些基本知識,這些也是我們經(jīng)常在面試中看見的。希望對你有幫助,一起來看。

下面介紹的是java編程相關(guān)的基礎(chǔ)知識:

1、servlet的生命周期

web容器加載servlet,生命周期開始。通過調(diào)用servlet的init()方法進行servlet的初始化。通過調(diào)用service()方法實現(xiàn),根據(jù)請求的不同調(diào)用不同的do***()方法。結(jié)束服務,web容器調(diào)用servlet的destroy()方法。

2、如何現(xiàn)實servlet的單線程模式

  1. <%@ page isThreadSafe="false"%>  

3、頁面間對象傳遞的方法

request,session,application,cookie等

4、JSP和Servlet有哪些相同點和不同點,他們之間的聯(lián)系是什么?

JSP是Servlet技術(shù)的擴展,本質(zhì)上是Servlet的簡易方式,更強調(diào)應用的外表表達。JSP編譯后是"類servlet"。Servlet和JSP最主要的不同點在于,Servlet的應用邏輯是在Java文件中,并且完全從表示層中的HTML里分離開來。而JSP的情況是Java和HTML可以組合成一個擴展名為.jsp的文件。JSP側(cè)重于視圖,Servlet主要用于控制邏輯。

5、四種會話跟蹤技術(shù) 

會話作用域ServletsJSP 頁面描述
page否是代表與一個頁面相關(guān)的對象和屬性。一個頁面由一個編譯好的 Java servlet 類(可以帶有任何的 include 指令,但是沒有 include 動作)表示。這既包括 servlet 又包括被編譯成 servlet 的 JSP 頁面

request是代表與 Web 客戶機發(fā)出的一個請求相關(guān)的對象和屬性。一個請求可能跨越多個頁面,涉及多個 Web 組件(由于 forward 指令和 include 動作的關(guān)系)

session是代表與用于某個 Web 客戶機的一個用戶體驗相關(guān)的對象和屬性。一個 Web 會話可以也經(jīng)常會跨越多個客戶機請求 application是代表與整個 Web 應用程序相關(guān)的對象和屬性。這實質(zhì)上是跨越整個 Web 應用程序,包括多個頁面、請求和會話的一個全局作用域

6、Request對象的主要方法:
 

  • setAttribute(String name,Object):設(shè)置名字為name的request的參數(shù)值
  • getAttribute(String name):返回由name指定的屬性值
  • getAttributeNames():返回request對象所有屬性的名字集合,結(jié)果是一個枚舉的實例
  • getCookies():返回客戶端的所有Cookie對象,結(jié)果是一個Cookie數(shù)組
  • getCharacterEncoding():返回請求中的字符編碼方式
  • getContentLength():返回請求的Body的長度
  • getHeader(String name):獲得HTTP協(xié)議定義的文件頭信息
  • getHeaders(String name):返回指定名字的request Header的所有值,結(jié)果是一個枚舉的實例
  • getHeaderNames():返回所以request Header的名字,結(jié)果是一個枚舉的實例
  • getInputStream():返回請求的輸入流,用于獲得請求中的數(shù)據(jù)
  • getMethod():獲得客戶端向服務器端傳送數(shù)據(jù)的方法
  • getParameter(String name):獲得客戶端傳送給服務器端的有name指定的參數(shù)值
  • getParameterNames():獲得客戶端傳送給服務器端的所有參數(shù)的名字,結(jié)果是一個枚舉的實例
  • getParameterValues(String name):獲得有name指定的參數(shù)的所有值
  • getProtocol():獲取客戶端向服務器端傳送數(shù)據(jù)所依據(jù)的協(xié)議名稱
  • getQueryString():獲得查詢字符串
  • getRequestURI():獲取發(fā)出請求字符串的客戶端地址
  • getRemoteAddr():獲取客戶端的IP地址
  • getRemoteHost():獲取客戶端的名字
  • getSession([Boolean create]):返回和請求相關(guān)Session
  • getServerName():獲取服務器的名字
  • getServletPath():獲取客戶端所請求的腳本文件的路徑
  • getServerPort():獲取服務器的端口號
  • removeAttribute(String name):刪除請求中的一個屬性

7、J2EE是技術(shù)還是平臺還是框架?
 

J2EE本身是一個標準,一個為企業(yè)分布式應用的開發(fā)提供的標準平臺。

J2EE也是一個框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技術(shù)。

8、我們在web應用開發(fā)過程中經(jīng)常遇到輸出某種編碼的字符,如iso8859-1等,如何輸出一個某種編碼的字符串?

  1. Public String translate (String str) {   
  2. String tempStr = &q  
  3. uot;";   
  4. try {   
  5. tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");   
  6. tempStr = tempStr.trim();   
  7. }   
  8. catch (Exception e) {   
  9. System.err.println(e.getMessage());   
  10. }   
  11. return tempStr;   
  12. }  

 

9、簡述邏輯操作(&,|,^)與條件操作(&&,||)的區(qū)別。

區(qū)別主要答兩點:a.條件操作只能操作布爾型的,而邏輯操作不僅可以操作布爾型,而且可以操作數(shù)值型 b.邏輯操作不會產(chǎn)生短路

10、XML文檔定義有幾種形式?它們之間有何本質(zhì)區(qū)別?解析XML文檔有哪幾種方式?
 

a: 兩種形式 dtd schema,b: 本質(zhì)區(qū)別:schema本身是xml的,可以被XML解析器解析(這也是從DTD上發(fā)展schema的根本目的),c:有DOM,SAX,STAX等

DOM:處理大型文件時其性能下降的非常厲害。這個問題是由DOM的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM必須在解析文件之前把整個文檔裝入內(nèi)存,適合對XML的隨機訪問

SAX:不現(xiàn)于DOM,SAX是事件驅(qū)動型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個文件。當遇到像文件開頭,文檔結(jié)束,或者標簽開頭與標簽結(jié)束時,它會觸發(fā)一個事件,用戶通過在其回調(diào)事件中寫入處理代碼來處理XML文件,適合對XML的順序訪問

STAX:Streaming API for XML (StAX)

11、簡述synchronized和java.util.concurrent.locks.Lock的異同 ?

主要相同點:Lock能完成synchronized所實現(xiàn)的所有功能

主要不同點:Lock有比synchronized更精確的線程語義和更好的性能。synchronized會自動釋放鎖,而Lock一定要求程序員手工釋放,并且必須在finally從句中釋放。

12、EJB的角色和三個對象

一個完整的基于EJB的分布式計算結(jié)構(gòu)由六個角色組成,這六個角色可以由不同的開發(fā)商提供,每個角色所作的工作必須遵循Sun公司提供的EJB規(guī)范,以保證彼此之間的兼容性。這六個角色分別是EJB組件開發(fā)者(Enterprise Bean Provider) 、應用組合者(Application Assembler)、部署者(Deployer)、EJB 服務器提供者(EJB Server Provider)、EJB 容器提供者(EJB Container Provider)、系統(tǒng)管理員(System Administrator)

三個對象是Remote(Local)接口、Home(LocalHome)接口,Bean類

13、EJB容器提供的服務

主要提供聲明周期管理、代碼產(chǎn)生、持續(xù)性管理、安全、事務管理、鎖和并發(fā)行管理等服務。

14、EJB規(guī)范規(guī)定EJB中禁止的操作有哪些?

1.不能操作線程和線程API(線程API指非線程對象的方法如notify,wait等),2.不能操作awt,3.不能實現(xiàn)服務器功能,4.不能對靜態(tài)屬生存取,5.不能使用IO操作直接存取文件系統(tǒng),6.不能加載本地庫.,7.不能將this作為變量和返回,8.不能循環(huán)調(diào)用。

15、remote接口和home接口主要作用

remote接口定義了業(yè)務方法,用于EJB客戶端調(diào)用業(yè)務方法。

home接口是EJB工廠用于創(chuàng)建和移除查找EJB實例

16、bean 實例的生命周期

對于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在緩沖池管理,而對于Entity Bean和Statefull Session Bean存在Cache管理,通常包含創(chuàng)建實例,設(shè)置上下文、創(chuàng)建EJB Object(create)、業(yè)務方法調(diào)用、remove等過程,對于存在緩沖池管理的Bean,在create之后實例并不從內(nèi)存清除,而是采用緩沖池調(diào)度機制不斷重用實例,而對于存在Cache管理的Bean則通過激活和去激活機制保持Bean的狀態(tài)并限制內(nèi)存中實例數(shù)量。

17、EJB的激活機制

以Stateful Session Bean 為例:其Cache大小決定了內(nèi)存中可以同時存在的Bean實例的數(shù)量,根據(jù)MRU或NRU算法,實例在激活和去激活狀態(tài)之間遷移,激活機制是當客戶端調(diào)用某個EJB實例業(yè)務方法時,如果對應EJB Object發(fā)現(xiàn)自己沒有綁定對應的Bean實例則從其去激活Bean存儲中(通過序列化機制存儲實例)回復(激活)此實例。狀態(tài)變遷前會調(diào)用對應的ejbActive和ejbPassivate方法。

18、EJB的幾種類型

會話(Session)Bean ,文章整理:學網(wǎng) http://www.xue5.com (本站) [1] [2] [3]

實體(Entity)Bean 消息驅(qū)動的(Message Driven)Bean

會話Bean又可分為有狀態(tài)(Stateful)和無狀態(tài)(Stateless)兩種

實體Bean可分為Bean管理的持續(xù)性(BMP)和容器管理的持續(xù)性(CMP)兩種

19、客服端調(diào)用EJB對象的幾個基本步驟

設(shè)置JNDI服務工廠以及JNDI服務地址系統(tǒng)屬性,查找Home接口,從Home接口調(diào)用Create方法創(chuàng)建Remote接口,通過Remote接口調(diào)用其業(yè)務方法。

20、如何給weblogic指定大小的內(nèi)存?

在啟動Weblogic的腳本中(位于所在Domian對應服務器目錄下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以調(diào)整最小內(nèi)存為32M,最大200M

希望對你有幫助。請看下一篇,介紹JAVA編程語言的基礎(chǔ)知識(四)

責任編輯:于鐵 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-21 17:18:52

java

2011-07-22 10:02:07

java

2011-07-22 10:38:04

java

2011-07-21 17:33:27

JAVA

2011-07-22 09:43:37

java

2022-03-30 08:37:32

Python函數(shù)編程自定義函數(shù)

2011-11-04 17:26:12

2009-08-11 15:17:12

C#基礎(chǔ)知識

2009-08-13 15:40:28

C#基礎(chǔ)知識

2009-11-05 09:51:14

WCF基礎(chǔ)

2015-07-17 16:49:13

OpenStack開源云平臺云計算

2021-01-23 12:47:19

MySQL數(shù)據(jù)庫Go語言

2024-01-07 19:54:51

2011-07-14 23:34:56

SEO

2011-02-25 09:37:35

2010-04-22 11:32:57

Lvs負載均衡

2009-11-23 19:24:01

PHP面向?qū)ο缶幊?/a>

2011-06-24 14:34:56

SEO

2009-12-21 13:03:06

向量路由協(xié)議

2010-01-19 14:45:35

C++語言
點贊
收藏

51CTO技術(shù)棧公眾號