java8的函数指针
生活随笔
收集整理的這篇文章主要介紹了
java8的函数指针
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
轉(zhuǎn)載自??java8的函數(shù)指針
這段時(shí)間?項(xiàng)目實(shí)在是太緊了,沒有時(shí)間寫博客啊。java模式的文章還沒有寫完,后期在寫吧。
最近項(xiàng)目中大量的使用到了遠(yuǎn)程調(diào)用以及回調(diào)。是采用反射的方式實(shí)現(xiàn)的。擔(dān)心到大量的反射會(huì)影響到程序運(yùn)行的效率問題。
所以決定放棄使用反射,采用java8中的函數(shù)指針來實(shí)現(xiàn)。經(jīng)測(cè)試效率確實(shí)會(huì)快很多。
這里寫一個(gè)小小的函數(shù)指針的例子,從這一個(gè)小例子中大家可以感覺一下函數(shù)指針的強(qiáng)大。
下面直接看例子:
package java8.function; /** * 函數(shù)接口 * @author chuer * * @param <T> * @param <E> */ @FunctionalInterface public interface Function<T,E> { public void apply(T t,E e); } package java8.function; public class FunctionManager { /** * 遠(yuǎn)程調(diào)用方法 */ public void remote(){ Remote proxy = new Remote(); proxy.service(this::callback); } /** * 回調(diào)方法 * @param a * @param b */ public void callback(String a,String b){ System.out.println(a+" "+ b); } } package java8.function; public class Remote { public void service(Function<String,String> str){ str.apply("hello", "world..."); } } package java8.function; public class Test { public static void main(String[] args) { FunctionManager manager = new FunctionManager(); manager.remote(); } } 結(jié)果如下:hello? ?world...??
總結(jié)
以上是生活随笔為你收集整理的java8的函数指针的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java8学习笔记(1) -- 从函数式
- 下一篇: 黑暗之魂电脑配置(星魂电脑配置)