Re: What is transient metadata ?
Tomas Zezula <[email protected]>
| Newsgroups | gmane.comp.java.netbeans.modules.mdr.devel |
|---|---|
| Message-ID | <[email protected]> |
Svata Dedic wrote: > Holger Krug wrote: > >> On Thu, Jun 27, 2002 at 11:24:51AM +0000, Tomas Zezula wrote: >> >>> So, Java module requires that these objects will be freed >>> automatically when they are not more referenced. >> >> >> I understand. MDR is going to be a meta-data repository with >> integrated garbage collection. Quite funny. >> > Yeah, it's funny :-) But needed as well. At least I hope that we didn't > push in the wrong direction. > We (== java module maintainers) plan to model the whole user > java projects w/ all the referencies to the JDK (and other library) > classes. That will give us a *lot* of metadata to care about. When we > did some guesses about # of instances, we got a number around a million, > so we have to somehow trim down the amount of persistent data otherwise > we would make a big favour to harddisk manufacturers. > The metadata, which cannot be perceived outside local scope (e.g. local > variables, statements, ...) will be modelled using the transient > metadata support. So a client will be able to ask for the detailed model > and manipulate it using JMI, but it won't be preserved after the client > will be finished with it (actually since the changes will be written > into the source, they will survive in some form). > > Here the MDR machinery serves as a framework, which does most of the > boring things we would have to code by hand for each part of the > detailed model. > > -Svata On the other side, the framework is quite dangerous and can cause lots of unwanted "surprises". E.g. iterator's operation hasNext can return true and following next can throw NoSuchObjectException even if both operation are called in the synchronized block. This behaviour is caused be a GC which frees this object after hasNext and before next operation was called. Tomas > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] >