Hi, i think there is not really a solution to this problem. Let's say your class has only the four attributes you mentioned and let's say that a boolean consists of 1 Byte. So one instance of your class would use up (4 + 4 + 1 + 4) = 13 Byte, therefore 1,000,000,000 Instances would use up ruoghly 12 GiB. Maybe you can use other (smaller) Types for the attributes?
Cheers, Marco Am 19.10.2014 um 15:40 schrieb WangChen: > Thanks for your quick response. > > But I don’t think intern will suits here. > I mean my program need to create 1 billion instances of Data class. And all > of them are different. > > > 在 2014年10月19日,下午9:22,Vijay Saraswat <vi...@saraswat.org> 写道: > >> Not sure I am following you. >> >> Which of the billion instances do u want to eliminate? >> >> You could write a small piece of code to intern objects yourself, but >> since you also have a field you need to mutate you need to think >> carefully how u are going to manage mutation and sharing. >> >> (Interning is fairly well understood for Java-like languages -- u can >> start with >> http://stackoverflow.com/questions/7035659/good-pattern-for-creating-an-object-that-supports-interning >> ) >> >> On 10/19/14, 8:48 AM, WangChen wrote: >>> Hi, >>> >>> I have a class named Data and it has some basic field like this: >>> >>> class Data { >>> val i:Int; >>> val j:Int; >>> var flag: Boolean; >>> var value: Int; >>> // other fields and methods >>> } >>> >>> My program will create many instances of Data, lets say 1 billion, which >>> will cost a lot of memory since every instance need extra spaces. >>> >>> And i can’t use structs here because they are immutable but i need to >>> update fields of it. >>> >>> So what can i do here ? >>> Is there a way to manage memory explicitly? >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Comprehensive Server Monitoring with Site24x7. >>> Monitor 10 servers for $9/Month. >>> Get alerted through email, SMS, voice calls or mobile push notifications. >>> Take corrective actions from your mobile device. >>> http://p.sf.net/sfu/Zoho >>> _______________________________________________ >>> X10-users mailing list >>> X10-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/x10-users >> >> >> ------------------------------------------------------------------------------ >> Comprehensive Server Monitoring with Site24x7. >> Monitor 10 servers for $9/Month. >> Get alerted through email, SMS, voice calls or mobile push notifications. >> Take corrective actions from your mobile device. >> http://p.sf.net/sfu/Zoho >> _______________________________________________ >> X10-users mailing list >> X10-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/x10-users > > > > ------------------------------------------------------------------------------ > Comprehensive Server Monitoring with Site24x7. > Monitor 10 servers for $9/Month. > Get alerted through email, SMS, voice calls or mobile push notifications. > Take corrective actions from your mobile device. > http://p.sf.net/sfu/Zoho > _______________________________________________ > X10-users mailing list > X10-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/x10-users > ------------------------------------------------------------------------------ Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho _______________________________________________ X10-users mailing list X10-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/x10-users