本文目錄一覽:
- 1、JAVA 實例域和靜態域分別是什麼意思
- 2、java域是什麼?.
- 3、java作用域
- 4、什麼是java中的域對象?
- 5、java里域是什麼?公有域又是什麼?
- 6、java中的域是什麼意思,實例域又是什麼意思?
JAVA 實例域和靜態域分別是什麼意思
實例域:故名意義需要實例如類後方可使用裡面的屬性、方法
靜態域:則不需要可以直接使後,更重的是靜態域可以作為系統緩存在不同類中使用,也可以理解全局的概念
java域是什麼?.
域就是範圍的意思
例{}之間,稱為一塊域,用來描述變量適用範圍,全局變量的域是整個類,局部變量只適用於他所在的{}之間,
java作用域
1,public 2,protected 3,(default) 4,private
1任何類都可以訪問
2在同一個包中的所有類可以訪問,以及該類的子類
3同一個包中的所有類
4隻能在本類中訪問
一、ServletContext
1、生命周期:當Web應用被加載進容器時創建代表整個web應用的ServletContext對象,當服務器關閉或Web應用被移除時,ServletContext對象跟着銷毀。
2、作用範圍:整個Web應用。
3、作用:
a) 在不同Servlet 之間轉發
this.getServletContext().getRequestDispatcher(“/servlet/Demo10Servlet”).forward(request,response);
方法執行結束,service就會返回到服務器,再有服務器去調用目標servlet,其中request會重新創建,並將之前的request的數據拷貝進去。
b) 讀取資源文件。
1、由於相對路徑默認相對的是java虛擬機啟動的目錄,所以我們直接寫相對路徑將會是相對於tomcat/bin目錄,所以是拿不到資源的。
如果寫成絕對路徑,當項目發布到其他環境時,絕對路徑就錯了。
2、為了解決這個問題ServletContext提供了:
this.getServletContext().getRealPath(“/1.properties”),給進一個資源的虛擬路徑,將會返回該資源在當前環境下的真實路徑。
this.getServletContext().getResourceAsStream(“/1.properties”),給一個資源的虛擬路徑返回到該資源真實路徑的流。
3、當在非servlet下獲取資源文件時,就沒有ServletContext對象用了,此時只能用類加載器
classLoader.getResourceAsStream(“../../1.properties”),此方法利用類加載器直接將資源加載到內存中,有更新延遲的問題,
以及如果文件太大,佔用內存過大。
classLoader.getResource(“../1.properties”).getPath(),直接返回資源的真實路徑,沒有更新延遲的問題。
二、Request 域
1、生命周期:在service 方法調用前由服務器創建,傳入service方法。整個請求結束,request生命結束。
2、作用範圍:整個請求鏈(請求轉發也存在)。
3、作用: 在整個請求鏈中共享數據。最常用到:在Servlet 中處理好的數據交給Jsp顯示,此時參數就可以放置在Request域中帶過去。
三、Session 域
HttpSession 在服務器中,為瀏覽器創建獨一無二的內存空間,在其中保存會話相關的信息。
1、生命周期:在第一次調用 request.getSession() 方法時,服務器會檢查是否已經有對應的session,如果沒有就在內存 中創建一個session並返回。
當一段時間內session沒有被使用(默認為30分鐘),則服務器會銷毀該session。
如果服務器非正常關閉(強行關閉),沒有到期的session也會跟着銷毀。
如果調用session提供的invalidate(),可以立即銷毀session。
注意:服務器正常關閉,再啟動,Session對象會進行鈍化和活化操作。同時如果服務器鈍化的時間在session 默認銷毀時間之內,則活化後session還是存在的。否則Session不存在。如果JavaBean 數據在session鈍化時,沒有實現Serializable 則當Session活化時,會消失。
2、作用範圍:一次會話。
四、PageContext 域
1、生命周期:當對JSP的請求時開始,當響應結束時銷毀。
2、作用範圍:整個JSP頁面,是四大作用域中最小的一個,即超過這個頁面就不能夠使用了。(所以使用pageContext對象向其它頁面傳遞參數是不可能的.)
什麼是java中的域對象?
也是一個屬性,不過這個屬性是一個對象,不是基本數據類型。
如單例模式中的域對象:
private
Test
instance;//Test是當前類,instance就是當前類的域對象,普通域寫法:
private
String
str;
java里域是什麼?公有域又是什麼?
域就是類中的成員變量,有時也叫字段,屬性都是同一個意思。公有域就是能在其它類中直接訪問的域,也就是帶有域。例如:
class Test {
private int a; // 這是一個私有域,只能在本類訪問
public int b; // 這就是一個公有域了,可以在其它類中直接訪問
// 這是保護域,這類域可以在本類及其子類,還有與在本類所在同一包下的其類
// 中直接訪問
protected int c;
}
java中的域是什麼意思,實例域又是什麼意思?
所謂的域,翻譯成英文就是field, 也就是我們常說的字段,或者說是屬性。 比如類的字段(屬性),局部的,全局的,等等~ 。
實例域:
比如:
class A{
public static void main(String[] args)
{
A a = new A();
//a是個實例,那麼這個實例的作用域就是“實例域”
}
}
呵呵~
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/282958.html