測試 bean,frombean 與 tobean 屬性一致
public
class
frombean
public
void
setmoney(double money)
public string getname()
public
void
setname(string name)
public
intgetage()
public
void
setage(int age)
}
import org.apache.commons.beanutils.beanutils;
import org.apache.commons.beanutils.propertyutils;
import org.springframework.cglib.beans.beancopier;
public
class
test
public
static
void
convert(convertbean cb, int count, string type)
system.out.println("耗時 " + (system.currenttimemillis() - start) + " ms");
system.out.println("----------------------");
} catch (exception e)
}}@functionalinte***ce
inte***ce convertbean
apache beanutils.copyproperties開始進行測試
耗時 1178 ms
----------------------
apache propertyutils.copyproperties開始進行測試
耗時 5 ms
----------------------
spring beanutils.copyproperties開始進行測試
耗時 172 ms
----------------------
cglib beancopier.copy開始進行測試
耗時 0 ms
----------------------
單位:ms次數:10
第一次第二次
第三次第四次
平均值單次平均值
apache beanutils
1178
1029
9171019
1035.75
103.575
apache propertyutils54
845.25
0.525
spring beanutils
172257
123135
171.75
17.175
cglib beancopier00
0000
次數:100
第一次第二次
第三次第四次
平均值單次平均值
apache beanutils
1868
1258
1624
1260
1502.5
15.025
apache propertyutils
1610
1817
15.25
0.1525
spring beanutils
193152
209215
192.25
1.9225
cglib beancopier00
0000
次數:10000
第一次第二次
第三次第四次
平均值單次平均值
apache beanutils
1611
1657
1786
1572
1656.5
0.16565
apache propertyutils
24364
194111
1530.0153
spring beanutils
551217
433431
4080.0408
cglib beancopier106
376.50.00065
cglib在測試的時候,先進行了例項的快取,這個也是他效能較好的原因
幾種基礎資料框架的比較
1.arraylist與linkedlist arraylist有序的,可重複的,長度可變的,有下標的,位址連續的陣列序列,是list 介面的大小可變陣列的實現,在儲存資料時必須占用一整塊事先分配的儲存空間,不便於儲存空間的管理。linkedlist是list介面的鏈結列表實現,在鏈式儲存中,每個儲...
Spring框架 Bean的種類
1 普通bean spring直接建立a例項,並返回。2 factorybean 是乙個特殊的bean,具有工廠生成物件能力,只能生成特定的物件。bean必須使用factorybean介面,此介面提供方法getobject 用於獲得特定bean。先建立fb例項,呼叫getobject 方法,並返回方...
建立和複製bean的標記
標記用來 定義新字串常數 將現有的bean複製到新定義的bean物件 複製現有bean的屬性來建立新的bean 標記屬性表 屬性描述 id新定義的bean指令碼變數名稱,必須設定 type 定義引入指令碼變數的類 value 為id屬性定義的指令碼變數分配乙個新的物件 name 目標bean的名稱。...