From: Philippe Verdy (verdy_p@wanadoo.fr)
Date: Mon Nov 15 2004 - 15:45:30 CST
From: "Christopher Fynn" <cfynn@gmx.net>
> Isn't it already deprecated? The URL that started this thread
> <http://java.sun.com/j2se/1.5.0/docs/api/java/io/DataInput.html>
> is marked as part of the "Deprecated API"
Deprecated does not mean that it is not used. This interface remains
accessible when working with internal class file format. I don't understand
however why the storage format of the string constants pool was not changed
when the class format was updated in Java 1.5
(Classes compiled for Java 1.5 won't run on previous versions of Java, due
to the addition of new class interface elements like annotations, and
generics, however classes that don't use these new features can still be
compiled in Java 1.5 for compatibility with Java 1.4 and lower, and they
will still run in Java 1.5; this means that Java 1.5 still needs to
recognize the legacy class format that uses the modified UTF serialization
of the String constants pool; as Java 1.4.1 also introduced the support for
supplementary characters, it may have been useful that Sun changed at the
same time its "modified UTF" encoding in classes to encode supplementary
characters as 4 bytes if possible, when they are represented in the String
instance as a valid surrogate pair, instead of 6 bytes today with the
separate encoding of surrogates, to optimize the size of the String
constants pool containing them; I don't know if this has been done in the
new compact distribution format that replaces the legacy Zipped JAR format).
This archive was generated by hypermail 2.1.5 : Mon Nov 15 2004 - 15:50:32 CST