Ich möchte ein Feld aus Elementen, deren Wertebereich endlich ist, möglichst speichersparend im Hauptspeicher halten. Wie das genau geschieht (Huffman-Code, Differenz-Code, ...), steht noch nicht fest.
Dazu werde ich die ursprüngliche Feldstruktur (z.B. einen Array aus int-Elementen) durch die kodierte Darstellung ersetzen.
Wenn ich nun wüsste, dass z.B. ein Element vom Typ int immer 32 Bit belegt, könnte ich je 32 Bit der kodierten Darstellung in einem int speichern.
Leider finde ich, je länger ich recherchiere, immer mehr Angaben, dass in Java ein Element vom Typ int mindestens 32 Bit im Hauptspeicher belegt.
Kann mein Programm feststellen, wieviel Bit seine JVM für ein Element vom Typ int belegt? Und kann es im Falle eines Speicherverbrauchs >32 Bit für Elemente vom Typ int die zusätzlichen Bits auch verwenden, sprich Ganzzahlen größer 2^31-1 und kleiner -2^31 in einem int speichern?
Möglicherweise bin ich auch mit der Verwendung von int[] als Speicher für meinen Bit-Code auf der falschen Fährte und es existiert in Java eine Datenstruktur für beliebig lange Bit-Codes?
Vielen Dank für Eure Hilfe, auch Links auf weiterführende Dokumentationen sind sehr willkommen!
Dazu werde ich die ursprüngliche Feldstruktur (z.B. einen Array aus int-Elementen) durch die kodierte Darstellung ersetzen.
Wenn ich nun wüsste, dass z.B. ein Element vom Typ int immer 32 Bit belegt, könnte ich je 32 Bit der kodierten Darstellung in einem int speichern.
Leider finde ich, je länger ich recherchiere, immer mehr Angaben, dass in Java ein Element vom Typ int mindestens 32 Bit im Hauptspeicher belegt.
Kann mein Programm feststellen, wieviel Bit seine JVM für ein Element vom Typ int belegt? Und kann es im Falle eines Speicherverbrauchs >32 Bit für Elemente vom Typ int die zusätzlichen Bits auch verwenden, sprich Ganzzahlen größer 2^31-1 und kleiner -2^31 in einem int speichern?
Möglicherweise bin ich auch mit der Verwendung von int[] als Speicher für meinen Bit-Code auf der falschen Fährte und es existiert in Java eine Datenstruktur für beliebig lange Bit-Codes?
Vielen Dank für Eure Hilfe, auch Links auf weiterführende Dokumentationen sind sehr willkommen!