導航:首頁 > 編程語言 > java對象圖

java對象圖

發布時間:2024-12-09 04:35:16

『壹』 OGNL語言介紹和練習

OGNL,全稱對象圖導航語言,旨在簡化視圖和控制器之間的數據連接。最初設計用於建立UI組件與控制器之間的數據關聯,後來為適應更復雜的數據關系,Drew Davidson發明了KVCL,並由Luke使用ANTLR實現,後使用javaCC進行重構。OGNL現由Drew維護,廣泛應用於多個項目中,如WebWork、Tapestry等流行Web應用框架。

作為強大的表達語言,OGNL專門用於獲取和設置Java對象屬性,提供更高抽象語法來導航Java對象圖。其應用范圍廣泛,包括GUI元素綁定、表到Swing TableModel的數據源、Web組件和後端模型對象的綁定,以及Jakarata Commons BeanUtils或JSTL表達語言的更優替代。

通過OGNL,開發人員可以使用簡單語法完成復雜的Java對象導航,如列表映射、集合索引訪問等,避免直接使用get或set方法。這使得開發過程更加高效和直觀。

表達語言(EL)類似於OGNL,旨在簡化常用任務的執行,常見於Web框架中,如Hibernate的HQL。EL的存在減少了重復代碼的編寫,如在從會話中獲取並顯示購物車ID的場景中,使用EL可以更簡潔地完成操作,而無需直接使用Java代碼。

『貳』 java 中 單實例和多實例是指的什麼

簡單的說單例就是
只能有一個實例,所以地方用到的實例都是同一個。
就好像家人吃飯,桌子是單例的,大家用的是同一個。而碗是多例的,每人都有自幾的。
下面是具體的例子:
Java模式之單例模式:

單例模式確保一個類只有一個實例,自行提供這個實例並向整個系統提供這個實例。

特點:

1,一個類只能有一個實例

2,自己創建這個實例

3,整個系統都要使用這個實例

例:
在下面的對象圖中,有一個"單例對象",而"客戶甲"、"客戶乙"
和"客戶丙"是單例對象的三個客戶對象。可以看到,所有的客戶對象共享一個單例對象。而且從單例對象到自身的連接線可以看出,單例對象持有對自己的引用。

Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。在很多操作中,比如建立目錄
資料庫連接都需要這樣的單線程操作。一些資源治理器經常設計成單例模式。

外部資源:譬如每台計算機可以有若干個列印機,但只能有一個Printer
Spooler,以避免兩個列印作業同時輸出到列印機中。每台計算機可以有若干個通信埠,系統應當集中治理這些通信埠,以避免一個通信埠被兩個請求同時調用。內部資源,譬如,大多數的軟體都有一個(甚至多個)屬性文件存放系統配置。這樣的系統應當由一個對象來治理這些屬性文件。一個例子:Windows
回收站。
在整個視窗系統中,回收站只能有一個實例,整個系統都使用這個惟一的實例,而且回收站自行提供自己的實例。因此,回收站是單例模式的應用。
兩種形式:
1,餓漢式單例類
public
class
Singleton
{
private
Singleton(){}
//在自己內部定義自己一個實例,是不是很希奇?

//注重這是private
只供內部調用
private
static
Singleton
instance
=
new
Singleton();
//這里提供了一個供外部訪問本class的靜態方法,可以直接訪問

public
static
Singleton
getInstance()
{

return
instance;

}
}
2,懶漢式單例類
public
class
Singleton
{
private
static
Singleton
instance
=
null;
public
static
synchronized
Singleton
getInstance()
{
//這個方法比上面有所改進,不用每次都進行生成對象,只是第一次

//使用時生成實例,提高了效率!

if
(instance==null)

instance=new
Singleton();

return
instance;
}
}
第二中形式是lazy
initialization,也就是說第一次調用時初始Singleton,以後就不用再生成了。
注重到lazy
initialization形式中的synchronized,這個synchronized很重要,假如沒有synchronized,那麼使用getInstance()是有可能得到多個Singleton實例。
一般來說第一種比較安全。進入討論組討論。

『叄』 JAVA中的類和對象

對象:對象是類的一個實例(對象不是找個女朋友),有狀態和行為。例如,一條狗是一個對象,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。
類:類是一個模板,它描述一類對象的行為和狀態。
下圖中男孩女孩為類,而具體的每個人為該類的對象:Java中的對象現在讓我們深入了解什麼是對象。看看周圍真實的世界,會發現身邊有很多對象,車,狗,人等等。所有這些對象都有自己的狀態和行為。拿一條狗來舉例,它的狀態有:名字、品種、顏色,行為有:叫、搖尾巴和跑。對比現實對象和軟體對象,它們之間十分相似。軟體對象也有狀態和行為。軟體對象的狀態就是屬性,行為通過方法體現。在軟體開發中,方法操作對象內部狀態的改變,對象的相互調用也是通過方法來完成。Java中的類類可以看成是創建Java對象的模板。通過下面一個簡單的類來理解下Java中類的定義:
publicclassDog{Stringbreed;intage;Stringcolor;voidbarking(){}voidhungry(){}voidsleeping(){}}一個類可以包含以下類型變數:
局部變數:在方法、構造方法或者語句塊中定義的變數被稱為局部變數。變數聲明和初始化都是在方法中,方法結束後,變數就會自動銷毀。
成員變數:成員變數是定義在類中,方法體之外的變數。這種變數在創建對象的時候實例化。成員變數可以被類中方法、構造方法和特定類的語句塊訪問。
類變數:類變數也聲明在類中,方法體之外,但必須聲明為static類型。
一個類可以擁有多個方法,在上面的例子中:barking()、hungry()和sleeping()都是Dog類的方法。構造方法每個類都有構造方法。如果沒有顯式地為類定義構造方法,Java編譯器將會為該類提供一個默認構造方法。在創建一個對象的時候,至少要調用一個構造方法。構造方法的名稱必須與類同名,一個類可以有多個構造方法。下面是一個構造方法示例:
publicclassPuppy{publicPuppy(){}publicPuppy(Stringname){//這個構造器僅有一個參數:name}}

閱讀全文

與java對象圖相關的資料

熱點內容
精品php源碼 瀏覽:960
自己編寫雲伺服器搶紅包 瀏覽:203
java解壓縮文件加密 瀏覽:887
dlink列印伺服器默認地址 瀏覽:353
php休眠函數 瀏覽:372
金蝶如何打開伺服器 瀏覽:766
e4a手游輔助源碼 瀏覽:777
什麼app可以實時直播 瀏覽:106
蘋果13的app閃退什麼原因 瀏覽:775
尾盤選股源碼公式 瀏覽:450
php日期運算 瀏覽:931
天龍八部長歌伺服器什麼時候開的 瀏覽:199
鬼泣4模型在那個文件夾 瀏覽:229
單片機的串列口 瀏覽:58
phpjson轉化為數組 瀏覽:268
pdf導入excel 瀏覽:428
蘋果xsmax信任app在哪裡設置 瀏覽:53
自動外鏈php源碼 瀏覽:245
我的世界新手獎勵箱命令 瀏覽:146
linux更新vim 瀏覽:998