大概有這些方法:
1,緩存要調(diào)用的類型、對(duì)象實(shí)例或方法,減少調(diào)用Class.forName、構(gòu)造對(duì)象和 getMethod 的次數(shù),如使用hashmap來(lái)緩存。如果要支持熱部署,需要控制好緩存和版本的關(guān)系。
2,在緩存的基礎(chǔ)上,盡量用接口來(lái)實(shí)現(xiàn)方法調(diào)用,而不是使用invoke。
吐槽下,java里沒(méi)有委托(函數(shù)指針),干這事效率最高的就是使用委托。