java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Java - Programmierung > Allgemeine Java-Themen

Allgemeine Java-Themen Allgemeine Themen, die nicht in andere Fachforen und nicht zu den Java Basics passen

Thema geschlossen    
Themen-Optionen Thema durchsuchen Ansicht
Alt 24.06.2004, 13:04   #1 (permalink)
Benutzer
double
 
Registriert seit: 10.03.2004
Fachbeiträge: 79
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard RAM Speicher in Datei auslagern (Java Swapping)

Hallo Leute!

Folgendes Problem: Habe JTables (vgl. JTable Frage in AWT/Swing Forum), die sehr groß sind und sehr viel Arbeitsspeicher brauchen.

Ist es möglich ein Java Swapping durchzuführen? Soll heißen, die Daten, die in der JTable dargestellt werden sollen nicht in den Arbeitsspeicher sondern auf Platte geschrieben werden (dadurch muß ich den Sortieralg.) nicht verändern.

Hat jemand eine Idee?

Danke

Craven
PS: Welche generelle Möglichkeit hat man, den Arbeitsspeicherverbrauch von Java zu minimieren?! Sobald ein wenig Swing dabei ist, zieht so ein Prog jedesmal an die 20Mb!
__________________
Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will.
Craven ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.06.2004, 13:13   #2 (permalink)
Stammbenutzer
CD-R 80
 
Benutzerbild von bygones
 
Registriert seit: 07.10.2003
Fachbeiträge: 9.039
Blog-Einträge: 7
Abgegebene Danke: 93
Erhielt 383 Danke für 296 Beiträge
meines wissens geht das nicht - du gibst ja der VM ne größe von MB mit. Wenn diese ausgeschöpft sind wird n OutOfMemory geworfen. Also direktes Swapping ist somit nciht möglich.

Möglichkeit wg. Tables glaub ich wurde hier schon öfters diskutiert - so dass du immer nur die Daten lädst die auch wirklich angezeigt werden.

Den Heap von der VM kannst du übrigens mit den VM Kommandos -Xms128M -Xmx128M ändern (-Xms minimaler Speicher, -Xmx maximaler Speicher)
__________________
When I was young, I invented an invisible friend called Mr Ravioli. My psychiatrist says I don't need him anymore, so he just sits in the corner and reads
bygones ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.06.2004, 15:05   #3 (permalink)
Stammbenutzer
Megabyte
 
Registriert seit: 15.03.2004
Fachbeiträge: 1.086
Abgegebene Danke: 16
Erhielt 1 Danke für 1 Beitrag
Standard Re: RAM Speicher in Datei auslagern (Java Swapping)

Zitat: Craven
[...]PS: Welche generelle Möglichkeit hat man, den Arbeitsspeicherverbrauch von Java zu minimieren?! Sobald ein wenig Swing dabei ist, zieht so ein Prog jedesmal an die 20Mb!
Die VM braucht schon mal speicher. Und dann wird auch immer mehr Heap-Speicher von der VM reserviert, als das Programm momentan wirklich braucht.
__________________
Wir leben zwar alle unter demselben Himmel, haben aber deswegen lange noch nicht alle denselben Horizont.
Autor: Konrad Adenauer
Grizzly ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 29.06.2004, 13:59   #4 (permalink)
CoolHour
Nicht angemeldet
 
Fachbeiträge: n/a
Standard Swapping

Hi!

Wie wärs, wenn Du die JTABLE als Objekt auf Platte schreibst (serialisierts). Dann gibt die JVM den Speicher frei und später deserialisierst du das Objekt wieder.

Gruß
CoolHour

Keep it real!
Http://www.java-studio.de
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 02.07.2004, 08:14   #5 (permalink)
Benutzer
double
 
Registriert seit: 15.12.2003
Fachbeiträge: 72
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Re: Swapping

Zitat: CoolHour
Wie wärs, wenn Du die JTABLE als Objekt auf Platte schreibst (serialisierts). Dann gibt die JVM den Speicher frei und später deserialisierst du das Objekt wieder.
ich wuerde es auch aehnlich machen. die spalten/zeilen die die brauchst (sprich angezeigt werden) bleiben im speicher. den rest wuerde ich serialisiert und komprimiert wegschreiben (sprihc auf platte oder in den speicher... je nach dem: http://www.java-forum.org/de/viewtopic.php?t=2061). soweit nicht viel neues. um jedoch nich fuer jedes objekt eine datei auf die platte schrieben zu muessen wuerde ich mit einem random access file ( http://javaalmanac.com/egs/java.io/U...ccessFile.html) die objekte eben in den swap schreiben. das einige problem was du dann noch umgehen musst ist, dass wenn du ein objekt aus der mitte der datei rausnimmst die position der nachfolgenden entsprechend auf die neuen addressen gesetzt werden. sprich

Code:
0x000 Obejtk1 (100 Byte)
0x064 Objekt2 (100 Byte)
0x0C8 Objekt3 (100 Byte)
0x12C [EOF] (1 Byte)

(Objekt2 wird entfernt)

0x000 Obejtk1 
0x064 Objekt3
0x0C8 [EOF]
Nicht ganz ohne aber durchaus interessant - ich kann mir allerdings gut vorstellen, dass es diverse swap verfahren gibt die bessere alghorythmen/techniken verwenden als die methode oben.
nekton ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Thema geschlossen    

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Java Prgrammierung in der Osten auslagern Gast Plauderecke 43 20.11.2008 16:46
Servlet: Download einer Datei aus dem Speicher AlexWerz Allgemeines EE 1 07.02.2008 13:25
Datei im Speicher halten oldmangloom Allgemeine Java-Themen 4 16.08.2007 11:42
xml-schema aus wsdl auslagern in eine eigene xsd-Datei anfaenger345 XML und Co. 3 18.04.2007 09:08
menüeinträge im Java Menü auslagern alex Allgemeine Java-Themen 9 25.10.2006 22:01


Lesezeichen

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de