Serialization

Rémi Forax forax at univ-mlv.fr
Wed Dec 16 03:55:10 PST 2009


Peter Levart a écrit :
> You don't need to bury that into closure's default serialization logic. You can achieve the same by custom serialization of a class that is a container for a closure. The only service you need from closure is obtaining it's code identification (class name?) and stable serialization of closure's fields. Bytecode can be obtained from closure's class' classloader.
>
> Peter
>   

Yes, but how to have a stable class name ?

Rémi

> On Wednesday 16 December 2009 11:43:35 Rémi Forax wrote:
>   
>> I am affraid that the only solution is to serialize the bytecode of the 
>> lambda expression/statement.
>>
>> Rémi
>>
>> Joshua Bloch a écrit :
>>     
>>> Mark,
>>>
>>> I'm sorry to say, I don't know.  It's a hard problem.  One possibility is to
>>> provide a concise syntax for named singleton subclasses of functional types.
>>>  That would finesse the problem rather than solving it.
>>>
>>>              Josh
>>>
>>> On Tue, Dec 15, 2009 at 10:38 PM, Mark Reinhold <mr at sun.com> wrote:
>>>
>>>   
>>>       
>>>>> Date: Tue, 15 Dec 2009 22:17:41 -0800
>>>>> From: Joshua Bloch <jjb at google.com>
>>>>>       
>>>>> This is a moderately important decision. In Google's Java MapReduce API,
>>>>>       
>>>>>           
>>>> we use
>>>>     
>>>>         
>>>>> SAM interfaces to represent Mapper and Reducer. Instances must be
>>>>>       
>>>>>           
>>>> serializable,
>>>>     
>>>>         
>>>>> as they're serialized to pass them from the node that starts the
>>>>>       
>>>>>           
>>>> MapReduce to
>>>>     
>>>>         
>>>>> the worker nodes (which do the actual mapping and reduction). That means
>>>>>       
>>>>>           
>>>> we
>>>>     
>>>>         
>>>>> won't be able to use closure syntax for MapReduce, which seems like a
>>>>>       
>>>>>           
>>>> shame.
>>>>     
>>>>         
>>>>> This is no worse than what we do with SAM types today, but it's no
>>>>>       
>>>>>           
>>>> better,
>>>>     
>>>>         
>>>>> either. Can we do better?
>>>>>       
>>>>>           
>>>> Maybe.  How would you suggest we address the concerns which Peter raised?
>>>>
>>>> - Mark
>>>>
>>>>     
>>>>         
>>>   
>>>       
>>
>>     



More information about the lambda-dev mailing list