jTable - maximale Größe?

Diskutiere jTable - maximale Größe? im Java/Mono/dotGNU Forum im Bereich Programmieren unter Linux/Unix; Hallo zusammen. Ich bin gerade dabei, mir ein kleines Programm zu schreiben, welches Daten aus einer Datenbank ausliest und sie in einer JTable...

  1. #1 sim4000, 16.12.2007
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Hallo zusammen.
    Ich bin gerade dabei, mir ein kleines Programm zu schreiben, welches Daten aus einer Datenbank ausliest und sie in einer JTable ausgibt.
    Funktioniert auch alles ganz super.

    Nur was passiert wenn das Statement mal ne halbe Million Datensätze ausspucken würde? Da würde mir doch das Programm bestimmt ins Gesicht springen. (Umgangssprachlich)
    Mit ca 2000 Datensätzen läuft es noch relativ flüssig. Nur wo ist das das Maximum?

    Wie kann man also heraus finden, wie viele Datensätze in das Array von Typ Object (Object[][]) rein passen, welches die Daten zum JTable transportiert?

    Lg, sim.
     
  2. Anzeige

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 supersucker, 16.12.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Ganz einfach, wie viel du da reinpacken kannst hängt davon ab, wieviel du der JVM an Speicher gibst.

    IMHO sind das per default 64 MB.

    Wenn du das erhöhen willst, musst du java mit den entsprechenden Optionen -Xmx -Xms starten.
     
  4. #3 sim4000, 16.12.2007
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Erhöhen is käse.
    Da das Proggie ja auch auf an deren Rechnern funktionieren soll, ohne das ich damit das halbe/ganze System lahm lege.

    Kann man sich für den Fall das halt zu viel Speicher benötigt wird, ne Abbruchbedingung erstellen?
    So das dass Programm / das System keinen Abgang macht. Denn genau das hab ich eben geschafft.
    Hab mal ne 2Mio-Datensätze Tabelle gebaut und die mal ausgelesen. :devil: Konnte das System neu starten, weil gar nix mehr ging. :headup:

    Und genau das will ich verhindern.
     
  5. #4 supersucker, 16.12.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Klar,

    du kannst dir einfach über die Klasse Runtime anzeigen lassen wieviel Speicher gerade benutzt wird und dann ggf. abbrechen.

     
  6. #5 bytepool, 16.12.2007
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    hi,

    naja, die Struktur der Datenbank und der Tabellen muesste dann ja jetzt schon feststehen, d.h. du kannst dir doch einfach eben selber ausrechnen wieviel Speicher pro Datensatz benoetigt wird, und entsprechend ein Limit setzen. Einfach vorher nochmal mit einem select statement oder so die Anzahl der Datensaetze auslesen, und einen Fehler ausgeben wenn das Limit ueberschritten wuerde, bzw. nur bis dahin die Datensaetze auslesen...
    Oder nicht?

    mfg,
    bytepool
     
  7. #6 sim4000, 16.12.2007
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Das mit dem Freien speicher is schlecht.
    Weil wenn kein freier Speicher mehr da ist, ist es ja schon zu spät.

    Ich hab auch an Bytepools Vorschlag gedacht.
    Das einzigste Problem ist, das ich nicht vorher wissen kann, wie die Ausgabe aussieht, weil es sich bei dem Programm um einen MySQL-Client handelt. Man kann also eine x-beliebige Query eingeben.

    Ich hab keinen Plan, wie ich ein effektives Limit festlege. Ich kann ja nicht einfach sagen, bei 5000 Datensätzen ist Schluss.
    Totales Gehirnkribbeln...
     
  8. #7 supersucker, 16.12.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Jo,

    mitdenken wäre nicht schlecht von deiner Seite aus.

    Wo ist das Problem?

    Du prüfst halt alle x-Datensätze ob du noch mehr als y MB freien Speicher hast und sagst dann halt bspw.:

    Wenn nur noch 10 MB -> Abbrechen.

    Man kann es sich natürlich auch kompliziert machen.
     
  9. #8 sim4000, 16.12.2007
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Hehe. *hand.vor.den.kopf.hau*
    Du hast mal wieder Recht gehabt. :)
    Lösung:
    Code:
    if(Runtime.getRuntime().freeMemory()<10000000) { this.overflow(); return new Object[0][0]; }
    Das wird beim zusammenbau des Arrays bei jedem Durchlauf geprüft.
    Die Methode overflow() ist einfach die Fehlerausgabe.

    Danke sehr. :)
    Lg, sim.
     
Thema:

jTable - maximale Größe?

Die Seite wird geladen...

jTable - maximale Größe? - Ähnliche Themen

  1. Maximale grösse einer Mail festlegen

    Maximale grösse einer Mail festlegen: Hallo Zusammen, ich bräuchte mal eine kurze Info, und zwar: Ist es möglich in exim die maximale Größe einer Ausgehenden Mail zu beschrenken?...
  2. Maximale Speicherallokierung von Fortran

    Maximale Speicherallokierung von Fortran: Hallo, ich entwickle gerade ein Programm, welches mit ziemlich großen Matrizen arbeitet. Der Speicherbedarf für eine Matrize kann bis zu 4 GB...
  3. SSH-Tunnel bei gleichzeitiger maximaler Benutzerrestriktion

    SSH-Tunnel bei gleichzeitiger maximaler Benutzerrestriktion: Liebe Forenmitglieder, Das Intranet/VPN unseres Betriebes ist durch eine "dicke", größtenteils extern gemanagte Firewall (SuSE/IPSec) nach außen...
  4. wget - maximale dateigrösse erreicht

    wget - maximale dateigrösse erreicht: nabend. allso cih saug hier lustig an nem deb file 4.4 G, und nach 3,5 G bricht wget ab. "maximale dateigrösse erreicht" was kann ich machen...
  5. SSH maximale Fehlgeschlage Logins

    SSH maximale Fehlgeschlage Logins: maximale Fehlgeschlage Logins Hi, ich habe mich gerade mit folgendem Problem beschäftigt: ich wollte auf einem linux server festlegen, nach...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden