The difference between bytecode and class definition is negligible.[A520]
There are -- I believe -- other efficiency benefits to class definitions, but I also can't come up with a reason why you couldn't wrap bytecode in the same interface as you do a class definition and have everything happen correctly.[A521]
The bytecode cache idea loses out on three things:[A526]
Obviously the first time classes are loaded it is more expensive, but subsequent loads will be more efficient because they will be able to take advantage of location/date most of the time.[A527]
Yes, a bytecode cache must retain the original payload.[A528]
This efficiency should not be built into each class loader when it does not have to be.[A529]
I think it is important to understand both the positives and negatives I pointed out...in order to put things into perspective.[A536]
You do realise that the URL cache is based on the same principles I have been pushing all along for class loading efficiency?[A537]
Implementation-wise, pointers are more expensive than copies -- the access flags aren't 32 bits wide, and more indirect lookups are just what we don't need.[A543]
But, to me, aren't these the ways the comparison must be done?[A545]
I'd kind of been hoping that the superclass problem would take care of itself somewhere along the line in a recursion, but we do need to think about this...[A546]
Exactly! The raw payload of A must match the raw payload of B.[A547]