???????????
????Lambda????????????????????????棬????????????????????д???????????????????????????????????????????????????????????????
???????????????????????????????????Lambda??????????????????????????????????????Oracle??Sergey Kuksenko????????????????棬?????????2013 JVM????????????????????????????Lambda????????????????????????????????????????????????????????????????????ú????類JIT??????????????????????????????????????????????????????Lambda??????????????????????????????100????
????????????????????????????????????????????в????????????????????????????????????Lambda?????????????????????????????????????????????????????????????????????????????????????????????????????紴???????????????????????????????????????????
????// Hoisted Functionpublic static final Function parseInt = new Function()
????{
????public Integer apply(String arg)
????{
????return Integer.parseInt(arg);
????}}; // Usage:int result = parseInt.apply(“123”);
???????????????????????á????????????????????Lambda??????е?????????????????????????????в????Lambda??????????static???????????????????????б????????Lambda??????????????????????????????
????????????У???????????????Lambda??????????????????????????????????????????????????????????????????????????б????????Lambda??????JVM???????????????????
????????е????????
?????????Lambda????????????????????????????е????????????????????????Java 8 ??д???Щ???????????????????Ч??????????????Lambda?????????????????????????????????????????????????????????????Щ?????????
???????????????????????????????????GC?????????????????????????????????????????????????????У???????????????Lambda???????????????????????Щ???Lambda???????к????в??????????????????????????????????????????????????????????????????????????????????????
public MessageProcessor() {} public int processMessages()
{
return queue.read(obj ->
{
if (obj instanceof NewClient)
{
this.processNewClient((NewClient) obj);
}         ...
});
}
?????????????????????????????Lambda?????????????????????У??????丳????????????????????????????????????????ɡ???????????????
????Java
private final Consumer handler; public MessageProcessor()
{
handler = obj ->
{if (obj instanceof NewClient)
{
this.processNewClient((NewClient) obj);
}        ...
};
}
public int processMessages()
{
return queue.read(handler);
}
????????????????????????????????????????????????????????????????????????????????????????????????????????60%?????
????????????????????????????????????????
?????????????????????????????????д???????????????????
???????????????????????MessageProcessor????????????????????MessageProcessor????????????????????Lambda??????????????λ???????У????MessageProcessor???????????????Щ??
???????????????????????????????????????????????????????????????Щ????£???????ó???????????????????Lambda??????????????????????????????????檔?κ????????????????????????г????
???????????????????????????Lambda?????????????????????д??????????????????????????????κ?????????????????????????????????????????????????????д????????????????????Lambda??????????????????????д??new Foo()?????????????????
??????????????????д?????Lambda????????????д?????????????Lambda?????????????????????????????б????????????в????????????£?????????????ɡ?
???????
??????????????У??????о???Lambda????????????????????????????????????????Lambda??????????????????Lambda????????????????????????????????Lambda????????????????????????????????????????????????????????????????к??????????
????Lambda????????????????????Java 8 ???С?Scala???????????????????????????Lambda????????Scala 2.12?汾??Lambda?????????滻?Java 8?е?Lambda ???????????????????????JVM?????е?????????????Lambda??????????