色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java反射創(chuàng)建對象的效率是怎樣的呢

錢衛(wèi)國2年前65瀏覽0評論

java反射創(chuàng)建對象的效率是怎樣的呢?

Java中,反射是會比直接通過 new 創(chuàng)建對象實(shí)例來的慢,這是因?yàn)镴VM 針對其做的優(yōu)化,和直接創(chuàng)建對象是不一樣的。但是下面是幾個要注意的點(diǎn)

在最新版本的JVM上,反射的效率已經(jīng)得到了比較大的提升。

Knuth說過,"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil" (http://en.wikipedia.org/wiki/Program_optimization) , Performance tuning必須是基于相應(yīng)的應(yīng)用場景,實(shí)際的測試數(shù)據(jù)和明確的優(yōu)化目標(biāo)而進(jìn)行的。

在反射的執(zhí)行過程中,對于類及對象的定義元數(shù)據(jù)的尋找效率是比其實(shí)際執(zhí)行的效率低很多的,因此這里的瓶頸在于,如何一次性的,在配置而非運(yùn)行時,將相關(guān)的元數(shù)據(jù)盡早讀取到系統(tǒng)中來,這就引出了下面一點(diǎn):

一般來說,大部分的反射構(gòu)建對象元數(shù)據(jù)應(yīng)該發(fā)生在系統(tǒng)配置階段,比如在系統(tǒng)啟動階段,使用反射將系統(tǒng)運(yùn)行所需要的相關(guān)配置及動態(tài)數(shù)據(jù)讀進(jìn)內(nèi)存,然后在運(yùn)行時,使用這些存放在內(nèi)存中的元數(shù)據(jù)進(jìn)行處理。

在最新的JVM中的hotspot優(yōu)化,可以針對多次運(yùn)行的Java Class進(jìn)行有針對性的優(yōu)化,因此理論上來說,Java代碼執(zhí)行的次數(shù)越多,則針對其的優(yōu)化效果也越明顯。

java 反射方法,java反射創(chuàng)建對象的效率是怎樣的呢