From: "Christopher Fynn" <[EMAIL PROTECTED]>
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).




Reply via email to