Skip to content

Java class file contents and JEFF

Here’s an interesting technical paper analyzing the content of typical Java class files. Note: the paper is in Postscript format. You can grab a copy of Ghostscript to read it. Here are some interesting items in the paper:

  • On average, 32% of a class file is inessential information, such as the name of the source file or tables associating offsets into the bytecodes to line numbers in the Java source code. A class file can be reduced to 70% of its size and stay perfectly functional.
  • On average, the bytecodes take only 12% of a class file and only 18% of a class file stripped of superfluous content.
  • On average, the constant pool accounts for a whopping 61% of a class file.

On a related note, there’s a storage format proposal for Java content called JEFF. JEFF is an alternative to JAR files that avoids the usual duplication of classes between storage and runtime memory. It’s a binary “ready for execution” format. The main goal has to be to support small devices which could execute Java code directly from ROM but also have the ability to replace classes with new implementations in RAM. Sounds interesting but it doesn’t look like they’ve made much progress convincing vendors to support JEFF.

Posted in Uncategorized.

One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Jamison Kundert says

    Hello, i think that i noticed you visited my website thus i got here to return the choose?.I am trying to in finding things to improve my website!I assume its good enough to make use of a few of your ideas!!|

Some HTML is OK

or, reply to this post via trackback.