abies at pg.gda.pl
Tue Apr 11 08:21:51 PDT 2000
Jean-Eric Cuendet wrote:
> I have a general JAVA question and a particular Kaffe one:
> - In Java, there is 2 things : JVM and classes
> What is the differences between Java 1.0, 1.1 and 1.2 in these areas? Is
> there modifications in the JVM classes interpretations?
> Or is there only classes modifications? (2D addition, String can do more
> things in 1.2 than in 1.1, etc...)
Main bulk of changes goes into classlib, but unfortuantely there are
more or less subtle changes required to core JVM to support them.
Biggest thing I can think of are java.lang.ref classes - they require
tight integration with gc. I suppose that classloader handling is also
something that requires changes to core vm. For 1.0 -> 1.1 change, there
is also a java.lang.reflect - another package that is best implemented
with JVM knowing about it.
In addition to these, there is a lot of changes in native part of class
library. In theory JNI should separate it from JVM, but in reality it is
not so good - especially when core lib is concerned.
> And in these areas, what's the status of Kaffe? Is it JVM 1.2 compliant?
No, at least not the GPL version. I know that at least java.lang.ref and
Java2D are missing - somebody more knowledgeable can possibly elaborate
more on that.
> Or is there no differences, so only the classes added in 1.2 needs to be added
> in Kaffe to make it 1.2 compliant?
There is a heck lot of them. You need to write native libraries to
support them, so it is java + C. But if you mean "classes" = "classes +
supporting native libs", then yes, except java.lang.ref part I suppose.
But there are no freely available Java 2 class lib - classpath is only
partially done (and hardest part - Java2D is not even started).
More information about the kaffe